redis缓存常用命令

本文详细介绍了Redis中关于Key操作(如keys、del、exists、expire、ttl等)、数据过期管理和持久化功能,包括如何使用这些命令以及注意事项,如避免keys*命令的使用以防止性能影响。
摘要由CSDN通过智能技术生成

 Redis程序文件 redis-win.zip(window) 

启动redis服务器

redis-server
redis-server.exe

启动客户端
redis-cli
redis-cli.exe
 

Key操作命令

命令用法解释
keys pattern获取所有匹配pattern参数的Keys。需要说明的是,在我们的正常操作中应该尽量避免对该命令的调用,因为对于大型数据库而言,该命令是非常耗时的,对Redis服务器的性能打击也是比较大的。pattern支持glob-style的通配符格式,如*表示任意一个或多个字符,?表示任意字符,[abc]表示方括号中任意一个字母。
del key [key...]从数据库删除中参数中指定的keys,如果指定键不存在,则直接忽略。
exists key判断指定键是否存在。
persist key如果Key存在过期时间,该命令会将其过期时间消除,使该Key不再有超时,而是可以持久化存储。
expire key seconds该命令为参数中指定的Key设定超时的秒数,在超过该时间后,Key被自动的删除。如果该Key在超时之前被修改,与该键关联的超时将被移除。
ttl key获取该键所剩的超时描述。
type key获取与参数中指定键关联值的类型,该命令将以字符串的格式返回。

操作:

127.0.0.1:6379> keys *
1) "mykey"
2) "mylist"
3) "myhash"
4) "myset"
5) "myzset"
127.0.0.1:6379> del mykey mylist
(integer) 2
127.0.0.1:6379> keys *
1) "myhash"
2) "myset"
3) "myzset"
127.0.0.1:6379> exists mykey
(integer) 0
127.0.0.1:6379> exists mylist
(integer) 0
127.0.0.1:6379> exists myset
(integer) 1
127.0.0.1:6379> exists myzset
(integer) 1
127.0.0.1:6379> exists myhash
(integer) 1
127.0.0.1:6379> flushdb

        当删除之后的key,显示为0,未删除的key显示为1

设置指定key的时限,并且查看还有多久过期,没有经过持久化的数据,ttl时效最终会变成-2,并且数据被删除

27.0.0.1:6379> set mykey "zhangsan" ex 50
OK
127.0.0.1:6379> ttl mykey
(integer) 46
127.0.0.1:6379> ttl mykey
(integer) 44
127.0.0.1:6379> ttl mykey
(integer) 43
127.0.0.1:6379> ttl mykey
(integer) 42
127.0.0.1:6379> ttl mykey
(integer) -2
127.0.0.1:6379> ttl mykey
(integer) -2
127.0.0.1:6379> exists mykey
(integer) 0

在数据时效结束之前,将数据持久化

persist key(针对于有时限的数据,删除定时删除任务)

127.0.0.1:6379> set mykey "lisi" ex 100
OK
127.0.0.1:6379> ttl mykey
(integer) 96
127.0.0.1:6379> ttl mykey
(integer) 95
127.0.0.1:6379> persist mykey
(integer) 1
127.0.0.1:6379> ttl mykey
(integer) -1
127.0.0.1:6379> exists mykey
(integer) 1
127.0.0.1:6379>

将数据持久化操作之后,数据的时效ttl会变成-1,并且会持久保存下来

127.0.0.1:6379> set mykey "wanger" ex 100
OK
127.0.0.1:6379> ttl mykey
(integer) 98
127.0.0.1:6379>
127.0.0.1:6379> ttl mykey
(integer) 96
127.0.0.1:6379> expire mykey 20
(integer) 1
127.0.0.1:6379> ttl mykey
(integer) 18
127.0.0.1:6379> ttl mykey
(integer) 17
127.0.0.1:6379> set  mykey "mazi"
OK
127.0.0.1:6379> ttl mykey
(integer) -1

        设置含有定时任务的key,可以使用expire key [number] 修改定时时间

        当该key被重新赋值的时候,定时任务将会被取消

查看key的数据类型

Type key

127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set mykey 2
OK
127.0.0.1:6379> keys *
1) "mykey"
127.0.0.1:6379> get mykey
"2"
127.0.0.1:6379> lpush mylist a b c
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> sadd myset 1 2 3
(integer) 3
127.0.0.1:6379> zadd myzset 1 "88" 2 "99"
(integer) 2
127.0.0.1:6379> hset myhash username "admin"
(integer) 1
127.0.0.1:6379> type mykey
string
127.0.0.1:6379> type mylist
list
127.0.0.1:6379> type myzset
zset
127.0.0.1:6379> type myhash
hash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值