2025年redis-cli 端口(redis的端口)

redis-cli 端口(redis的端口)h4 一 Redis 客户端 h4 Redis 是一个客户端和服务器结构的程序 Redis 的客户端有很多种形态 通过以下的方法实现 Redis 客户端和服务器交互 必须先进入 Redis cli 客户端程序 才能输入 Redis 命令 1 自带了命令行客户端 2 图形化界面的客户端 桌面程序 web 程序 使用场景很少 图形化程序依赖 windows 系统 而在实际工作中

大家好,我是讯享网,很高兴认识大家。



 <h4>一、Redis客户端</h4> 

讯享网

Redis是一个客户端和服务器结构的程序,Redis的客户端有很多种形态

通过以下的方法实现Redis客户端和服务器交互,必须先进入Redis-cli客户端程序,才能输入Redis命令。

1、自带了命令行客户端
讯享网
2、图形化界面的客户端

桌面程序、web程序,使用场景很少

图形化程序依赖windows系统,而在实际工作中,用来办公的windows系统,连接到服务器可能有诸多限制。

3、基于Redis的api自行开发客户端(最常用的方法)

类似于MySQL的c语言API 和 JDBC

二、Redis常用命令

命令作用备注set/get

  设置key值与value值/查询key值对应的value值

keys查看匹配规则的key模糊查询,keys *很危险exists查询对应的key是否存在del删除指定的key与MySQL删除数据的区别expire/ttl给key设置过期时间/查询key的过期时间redis的过期策略type查询key对应的value类型

 

1、get 和 set

get:根据key来取value

set:把key和value存储进去

 key和value都要是string类型的

 
2、keys

用来查询当前服务器上匹配的key,通过一些特殊符号(通配符)来描述key的模样,匹配上述模样的key就能被查询下来

讯享网

patten具体是怎么写的呢?

?         匹配任意一个字符

*          匹配任意0个/多个任意字符

[abc]    只能匹配到a b c,别的不行。相当于给出固定的选项了


讯享网

[^a]      排除a  

[a-c]     a,b,c都可以,两侧闭区间

 

注意:keys命令的时间复杂度是O(N),所以在生产环境上,一般都禁止使用,尤其是keys *,查询所有的key。因为生产环境上的key非常多,而Redis是一个单线程的服务器,执行key *的时间非常长,就使Redis服务器被阻塞了,无法给其他客户端提供服务。

3、exists

判定某个key是否存在,返回值是key存在的个数(针对查询多个key),可以一次查询一个或者多个

时间复杂度O(1),Redis组织这些key就是按照 哈希表 的方式来组织的

讯享网
4、del

删除指定的key,可以一次删除一个或者多个,返回值是删除掉的key的个数

 

此处的删除并不严重,因为Redis主要的应用场景,就是作为缓存,此时Redis里存的只是一个热点数据,全量数据在MySQL类似的数据库中,一般来说删除几个key问题不大。但是如果Redis没有数据了,大部分请求直接打给MySQL,就容易把MySQL搞挂。

5、expire和ttl

expire:给指定的key设置过期时间,设置的单位是秒。返回1表示设置成功,返回0表示设置失败。时间复杂度为O(1)。时间过了key自动删除。

很多业务场景,都是有时间限制的,比如手机验证码;优惠券在指定时间内有效;基于Redis的分布式锁,为了避免出现不能正确解锁的情况,通常都会在加锁的时候设置一下过期时间。

讯享网

对于计算机来说,秒是一个非常长的时间,于是pexpire出现了,单位是毫秒。

ttl:time to live。查看当前key的剩余过期时间还有多少。ttl单位是秒,pttl 单位是毫秒。返回-1代表没有过期时间,返回-2代表key不存在。

 

拓展:Redis的过期策略是怎么实现的。

Redis的key过期策略是怎么实现的-CSDN博客

6、type

查询key对应的value类型。在Redis中,key的类型都是string,value对应的可能存在多种数据类型,比如none,string,list,set,zset(有序集合),hash,stream(Redis作为消息队列的时候,使用这个类型)…..时间复杂度O(1)

讯享网

 

小讯
上一篇 2025-04-17 14:52
下一篇 2025-05-11 21:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181057.html