zoukankan      html  css  js  c++  java
  • Redis--模糊查询(转)

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

    创建:
    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 数据查询

    复制代码
    172.16.12.36:6003> zrank qa:hall 103228953392713728
    (integer) 10021
    
    172.16.12.36:6003> ZCARD qa:hall
    (integer) 10022
    复制代码

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

    返回值:
    当 key 不存在时,返回 -2 。
    当 key 存在但没有设置剩余生存时间时,返回 -1 。
    否则,以秒为单位,返回 key 的剩余生存时间。
    在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
    复制代码
    # 不存在的 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、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
  • 相关阅读:
    基于概率论的分类方法:朴素贝叶斯
    【目录】机器学习 笔记
    决策树原理及分类实战
    k-近邻算法实现“电影、约会网站、手写数字识别”分类
    多线程互斥锁、读写锁
    21.快速排序实现(快排)
    系统架构资料收集
    20.排序之冒泡、直插、希尔排序方法
    19.散列表(哈希表)查找
    18.平衡二叉树(AVL树)、多路树查找(B树)概念
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14090241.html
Copyright © 2011-2022 走看看