• Redis 模糊查询删除操作


    创建一条测试 数据 查询 (默认是 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
  • 相关阅读:
    腾讯会议API接入
    解决远程调用三方接口:javax.net.ssl.SSLHandshakeException报错
    iOS自动创建本地化文件
    数组转换
    2021MongoDB技术实践与应用案例征集活动获奖通知
    MongoDB按需物化视图介绍
    参会指南 | 2021MongoDB南京技术沙龙
    叮咚买菜自建MongoDB上云实践
    MongoDB技术实践与应用案例征集中
    使用WT工具恢复MongoDB数据
  • 原文地址:https://www.cnblogs.com/sharesdk/p/9203449.html
Copyright © 2020-2023  润新知