一、1+5命令
1种key操作
5种数据类型操作
字符串类型 string
哈希类型 hash
列表类型 list
集合类型 set
有序集合类型 zset(sorted set)
redis中数据都是以键值对方式存储的,key是字符串类型,value常用类型为5种。
二、手册
redis英文版命令大全:https://redis.io/commands
redis中文版命令大全:http://redisdoc.com/
三、Key操作
我们在这里先设置一个key,关于设置key的语法后面会讲
**1、keys ***
列出所有的key
效果:
127.0.0.1:6379> keys *
1) "name"
如果想匹配个别的:
keys name
keys n*
效果:
127.0.0.1:6379> keys n*
1) "name"
127.0.0.1:6379> keys name
1) "name"
127.0.0.1:6379> keys age
(empty list or set)
对于线上的服务不建议使用keys *,因为线上服务很可能拥有成千上万个key,会影响redis的服务。
2、exists key
检查某个key是否存在
不存在是0,存在是1
效果:
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists age
(integer) 0
3、move key db
将当前库的key移动到给定的库db中,比如:
#移动键k1到第二个库,默认为第0个库
move k1 2
效果:
127.0.0.1:6379> move name 5 #将key移到库5
(integer) 1
127.0.0.1:6379> keys * #再次查看当前库里的键
(empty list or set) #已经空了
127.0.0.1:6379> select 5 #切换到库5
OK
127.0.0.1:6379[5]> keys * #查找库中的key
1) "name"
4、ttl key
ttl(time to live)查看key还有多少秒过期,-1永不过期,-2已过期或key不存在
我们再设置一个新的key(之前的key被移到库5了,我又切回库0了)
127.0.0.1:6379> set age 18
OK
效果:
127.0.0.1:6379> ttl age #永久有效
(integer) -1
127.0.0.1:6379> ttl gender #不存在的key
(integer) -2
5、expire key seconds
设置key的值的过期时间
127.0.0.1:6379> expire age 8 #给键age设置8秒过期
(integer) 1
127.0.0.1:6379> ttl age #查看过期时间
(integer) 4
127.0.0.1:6379> ttl age
(integer) 2
127.0.0.1:6379> ttl age
(integer) 1
127.0.0.1:6379> ttl age
(integer) -2 #8秒后不存在此key
127.0.0.1:6379> keys *
(empty list or set)
6、type key
查看key所储存的值的类型
127.0.0.1:6379> set name 人学物理死的早
OK
127.0.0.1:6379> type name
string
7、del key
删除key
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)