目录
0.redis-cli
登录redis客户端的命令。
redis 服务以默认配置(IP 为 127.0.0.1
,端口为 6379
)运行,此时命令会自动使用默认参数连接。
也可以使用 redis-cli -h + 目的ip + -p + 目的端口 命令登录。两种方式都如下图。
1.set
set key value 可以设置一组键值对。value的数值类型需要为String。
注意这里的String不是指只能是字符串。即使我们设置数字也无需加字符串。
与String相对的是哈希表,列表,集合,有序集合等。
正确设置与失败设置如下图。
2.get
get key 可以获得key对应的value。
与set相对应,它只能获取String类型的value。
3.keys
keys pattern 根据pattrn获取符合条件的key。根据redis官网描述如下:
h?llo
matcheshello
,hallo
andhxllo
h*llo
matcheshllo
andheeeello
h[ae]llo
matcheshello
andhallo,
but nothillo
h[^e]llo
matcheshallo
,hbllo
, ... but nothello
h[a-b]llo
matcheshallo
andhbllo
?代指一个字符。*代指0或若干个字符。
[ae]表示a或e。[^e]表示除了e都可以。[a-b]表示字符a到字符b的数据都可以匹配。
由此我们也可以知道key * 命令就可以查看所有的key。但是这种操作在生产环境上十分危险,因为这种遍历所有的key时间复杂度是O(n),如果key十分多会消费很长的时间。会造成线程阻塞,redis又是单线程的,会导致很多其他请求无法及时响应!!!
4.exists
exists + key[key]。表示exists后面接的一个或多个key是否存在。返回存在key的个数。
5.del
del + key[key]。del后面接一个或多个key,表示删除这些key。返回删除key的个数。
6.expire
expire + key+时间数。为key设置过期时间。单位为秒。返回设置成功的个数。
更小单位的指令为pexpire 单位为毫秒。用法相同。
下图我为hxllo设置10秒过期时间,10秒内检查hxllo是存在的,超过10秒检查就不存在了。
7.ttl
ttl + key。用于查看key的存活时间。ttl的意思为"time to live",即存活时间。返回存活时间的值。
如果key已经不存在了,返回-2。对应key没有设置过期时间返回-1。
这个词在ip的报头中也有,了解过的读者一定会熟悉这个ttl的。想了解ip协议的可看IPv4协议_ipv4的协议号-CSDN博客,也是我写的。
8.type
type + key。查看key对应的value的数据类型是什么。
9.flushall
删除所有的key。
10.再谈set
如果每次都要先set值之后再expire设置过期时间,也太麻烦了。
其实set在官网的描述是这样的:
我们可以在设置key的同时设置过期时间。ex设置秒级别的 px设置毫秒级别的。
nx表示key不存在时生效。xx表示存在时生效。