• redis 模糊搜索


    参考:https://blog.csdn.net/dc_726/article/details/42784317

    创建一条测试 数据 查询 (默认是 DB 0 )

    创建:
    set name xiaoming
    查询:
    get name 

    1、模糊搜索查询 (redis 默认有16个DB , 0-15 )

    Redis 模糊搜索
    1、keys *   匹配数据库中所有 key 
    2、keys h?llo   匹配 hello , hallo 和 hxllo 等。
    3、keys h*llo   匹配 hllo 和 heeello 等。
    4、keys h[ae]llo   匹配 hallo 和 hello ,但不匹配 hillo;特殊符号用  隔开。
    redis> keys *o*
    1) "four"
    2) "two"
    3) "one"
    redis> keys t??
    1) "two"
    redis> keys t[w]*
    1) "two"
    redis> keys *    # 匹配数据库内所有 key
    1) "four"
    2) "three"
    3) "two"
    4) "one"
    redis-cli  进入默认是第一个DB 0 ; select 切换 DB > select 2;

    2、删除指定key :

    # 删除所有以 user 开头的key 可以这样实现:
    # redis-cli keys "user*"
    1) "user1"
    2) "user2"
    
    # redis-cli keys "user*" | xargs redis-cli del
    (integer) 2
    # 删除成功
    
    # 删除当前数据库中的所有Key 
    > flushdb 
    
    # 删除所有数据库中的key 
    > flushall
    # 删除单个 key
    redis> SET name zhangsan
    OK
    redis> DEL name
    (integer) 1
    
    # 删除一个不存在的 key
    redis> EXISTS lisi
    (integer) 0
    
    redis> DEL phone   # 失败,没有 key 被删除
    (integer) 0
    
    # 同时删除多个 key
    redis> SET name "redis"
    OK
    redis> SET type "key-value store"
    OK
    redis> SET website "redis.com"
    OK
    redis> DEL name type website
    (integer) 3
    # 批量删除匹配通配符的key用到了Linux中的管道和xargs参数:
    
    redis-cli keys "s*" | xargs redis-cli del
    # 如果需要制定数据库,需要用到 -n 数据库编号 参数,下面是删除 2数据库中 s开头的键:
    
    redis-cli -n 2 keys "s*" | xargs redis-cli -n 2 del
    
    redis-cli keys "*" | xargs redis-cli del 
    
    # 如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 
    如:
    /opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del

    3、Redis Sortedset 数据查询

    redis sortedset 数据查询:
    
    172.16.12.36:6003> zrank qa:hall 103228953392713728
    (integer) 10021
    
    172.16.12.36:6003> ZCARD qa:hall
    (integer) 10022

    TTL key : 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

    返回值:
    当 key 不存在时,返回 -2 。
    当 key 存在但没有设置剩余生存时间时,返回 -1 。
    否则,以秒为单位,返回 key 的剩余生存时间。
    在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1

    查询检测 ttl 值:

    # 不存在的 key
    redis> FLUSHDB
    OK
    redis> TTL key
    (integer) -2
    
    # key 存在,但没有设置剩余生存时间
    redis> SET key value
    OK
    redis> TTL key
    (integer) -1
    
    # 有剩余生存时间的 key
    redis> EXPIRE key 10086
    (integer) 1
    
    redis> TTL key
    (integer) 10010

    5、redis type key

    TYPE key : 返回 key 所储存的值的类型。

    返回值:
    none (key不存在)
    string (字符串)
    list (列表)
    set (集合)
    zset (有序集)
    hash (哈希表)

    示例:

    # 字符串
    redis> SET weather "sunny"
    OK
    redis> TYPE weather
    string
    
    # 列表
    redis> LPUSH book_list "programming in scala"
    (integer) 1
    redis> TYPE book_list
    list
    
    # 集合
    redis> SADD pat "dog"
    (integer) 1
    redis> TYPE pat
    set

    来源:https://www.cnblogs.com/sharesdk/p/9203449.html

  • 相关阅读:
    dynamic 类型不能访问属性
    chrome浏览器另存为/上传附件崩溃
    HTTP 错误 405.0
    2019目录之电影
    面向面试编程-概念之-分布式与集群的区别和联系
    面向面试编程代码片段之GC
    2018-12-24
    VUE iview date-picker取时间范围...
    关闭shift中英文切换 英文代码/中文注释随意切换着写。
    为什么你在群里提的技术问题没人回答?
  • 原文地址:https://www.cnblogs.com/laijinquan/p/13573125.html
Copyright © 2020-2023  润新知