Redis--模糊查询_redis 模糊查询key_小前端而已的博客-程序员宅基地

技术标签: junit  java  缓存  数据库  redis  sql  

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

创建:
set name xiaoming
查询:
get name

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

Redis 模糊搜索
1、keys *   匹配数据库中所有 key
2、keys hllo   匹配 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
  4. “two”
    redis> keys t[w]*
  5. “two”
    redis> keys *    # 匹配数据库内所有 key
  6. “four”
  7. “three”
  8. “two”
  9. “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

扩展:

《Redis系列之模糊匹配查询 - 原理了解》?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_67390788/article/details/126489800

智能推荐

关于使用node进行文件处理的几种方式-程序员宅基地

在使用node开发过程中很多时候会遇到对文件系统做各种处理操纵 文件处理开发中常用的内置模块 path:处理文件路径 fs:操作文件系统 child_process:新建子进程 process: 进程 比较好用的第三方模块 glob: 使用shell命令的模式匹配文件 trash: 文件放到回收站 下面通过一个文件遍历例子 来描述下node处理文件的各...

【Android】判断某个App是否安装并启动(queryIntentActivities),-程序员宅基地

Finding out if an intent is availableSometimes you want to find if an application has registered for a certain intent. For example you want to check if a certain receiver is available and if you

Unity3D 引擎学习2022资料整理(二)_unity coverflow-程序员宅基地

Unity3D 引擎学习2022资料整理(二)_unity coverflow

基于slimboot学习emmc_lhkwqy的博客-程序员宅基地

SLB中block设备接口的定义在slimboot中,针对对类似flash设备的操作定义了下面的接口 typedef struct { DEVICE_INITIALIZE DevInit; DEVICE_GET_INFO GetInfo; DEVICE_READ_BLOCKS ReadBlocks; DEVICE_WRITE_BLOCKS

使用docker成功安装paddlespeech进行语音识别_paddlespeech docker_醉心编码的博客-程序员宅基地

多次使用单机安装paddlepaddle及paddlespeech失败后,遇到绝大多数的原因是pyton与paddlespeech不兼容。所以转向了docker方式安装。docker安装好之后,也可以再打包,这样就形成paddlespeech的docker镜像。我安装的是CPU版本,具体的步骤如下。_paddlespeech docker

angularjs如何替换插值字符串{{..}}_angular替换字符串-程序员宅基地

今天在看k8s的dashboard源码时,被一种表达式弄傻了。分分钟被教做人在百度的时候,发现我都不知道{{...}}叫什么、在哪里定义的T_T1.人家叫"插值表达式"2.如果想用其他符号如[[...]]替换{{...}},需要用到$interpolate3.[[Message|Description]]语法是Google Closure Compiler的goog.getMs..._angular替换字符串

随便推点

hyper graph 超图_hyper-graph-程序员宅基地

hyper graph 的基础概念 超图数据模型hypergraph data model (HDM)是知识图的基础(GRAKN.AI)概念(notations):超图由非空的顶点集和超边集组成(a hypergraph consists of a non-empty set of vertices and a set of hyperedges) 超边是一组有限的顶点集合(通过..._hyper-graph

压缩文件 .zip.001 .zip.002合并-程序员宅基地

可以把名字特别长的命名为1 这样简单些copy /B 1.zip.001+1.zip.002 1.zip转载于:https://www.cnblogs.com/qbmiller/p/3914285.html

gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0-程序员宅基地

npm install 的时候报了如下错误:gyp ERR! configure errorgyp ERR! stack Error: Python executable "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.EXE" is v3.6.2, which is not support

项目实战-物联网平台搭建-搭建websocket服务器(三)-程序员宅基地

项目目前是有手机app 做客户端,通过app订阅主题并发送消息,mqtt服务器会将数据转存如mysql数据库中,然后在有ws服务器发送到前端展示下边是大二写的一个mqtt通信app客户端给温度主题发送温度,前端折线图实时展示app客户端更改数据前端暂时断实时改变目前就这样搭建websocket服务器我用的是websocketd下载地址:https://github.com/joewalnes/websocketd/解压:unzip 解压工具.

黑马程序员_方法的定义,参数,返回值-程序员宅基地

为什么要使用方法?因为某些常用的代码,在不停的出现执行。所以要把这些经常使用的代码,封转成一个方法方法是什么?函数就是将一堆代码进行重用的一种机制方法的定义。[访问修饰符] [static ] 返回值类型 方法名([参数列表]){方法体;}注意:我用[]标记的,表示可以省略方法的访问修饰符:访问修饰符说明public公有访..._读取输入的整数,定义成方法,多次调用

virtualBox中ubuntu安装docker_vbox ubuntu 如何安装 docker-程序员宅基地

一、Docker是什么 docker直译为码头工人。当它成为一种技术时,做的也是码头工人的事。官网是这样描述它的:“Docker是一个开发的平台,用来为开发者和系统管理员构建、发布和运行分布式应用。”也就是说,如果把你的应用比喻为货物,那么码头工人(Docker)就会迅速的用集装箱将它们装上船。快速、简单而有效率。 它是用Go语言写的,是程序运行的“容器”(Li_vbox ubuntu 如何安装 docker