5种类型的数据
登陆 redis
redis-cli -h ip -p port -a password
string
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name "xuepeng"
OK
127.0.0.1:6379> get name
"xuepeng"
127.0.0.1:6379> config set stop-writes-on-bgsave-error no
OK
127.0.0.1:6379> mset key1 1 key2 'a' key3 'linux'
OK
127.0.0.1:6379> mget name key1 key2 key3
1) "xuepeng"
2) "1"
3) "a"
4) "linux"
list
list 是一个链表结构,主要功能是 push,pop,获取一个范围所有值等等。操作中key为链表名,list用于消息队列。
127.0.0.1:6379> LPUSH list 1 2 3 4 5
(integer) 5
127.0.0.1:6379> LRANGE list 0 -1 //读取整个 list
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> LPOP list // 取出最后插入的元素
"5"
127.0.0.1:6379> RPOP list //取出最开始插入的元素
"1"
127.0.0.1:6379> LRANGE list 0 -1
1) "4"
2) "3"
3) "2"
set
127.0.0.1:6379> SADD set1 a b c //元素a,b,c放入集合set1中
127.0.0.1:6379> SADD set1 d //元素d放入集合set1中
127.0.0.1:6379> SMEMBERS set1 //查看集合set1中的所有元素
127.0.0.1:6379> srem set1 c //从集合set1中删除元素c
127.0.0.1:6379> SADD set2 a b //元素a,b 放入集合set2中
127.0.0.1:6379> SINTER set1 set2 //集合set1,set2的交集
127.0.0.1:6379> SUNION set1 set2 //集合set1,set2的并集
127.0.0.1:6379> SDIFF set1 set2 //在集合set1中,挑出与集合set2不同的元素
127.0.0.1:6379> SDIFF set2 set1 //在集合set2中,挑出与集体set1不同的元素
zset (sorted set)
sorted set 是有序集合,它比set多了一个权重参数sorce,使得集合中的元素能够按 score 进行有序排序
127.0.0.1:6379> ZADD set3 89 'zhangsan'
(integer) 1
127.0.0.1:6379> ZADD set3 99 'lisi'
(integer) 1
127.0.0.1:6379> ZADD set3 108 'wangwu'
(integer) 1
127.0.0.1:6379> ZADD set3 79 'zhaoliu'
(integer) 1
127.0.0.1:6379> ZRANGE set3 0 -1 //从小到大排序
1) "zhaoliu"
2) "zhangsan"
3) "lisi"
4) "wangwu"
127.0.0.1:6379> ZREVRANGE set3 0 -1 //从大到小排序
1) "wangwu"
2) "lisi"
3) "zhangsan"
4) "zhaoliu"
hash
其实,hash可以认为是多维度string
127.0.0.1:6379> hset hash1 name jack
(integer) 1
127.0.0.1:6379> HSET hash1 age 36
(integer) 1
127.0.0.1:6379> HGET hash1 name
"jack"
127.0.0.1:6379> HGETALL hash1
1) "name"
2) "jack"
3) "age"
4) "36"
127.0.0.1:6379> HSET hash2 a 1 b 2 c 3
(integer) 3
127.0.0.1:6379> HGETALL hash2
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
127.0.0.1:6379> HGET hash2 a
"1"
Redis常见操作
-
keys *
取出所有 key -
keys k*
模糊匹配 -
exists key1
有 key1 键,返回1,否则返回0 -
del key1
删除一个key,成功返回1,否则返回0 -
expire key1 200
设置键的过期时间为200s -
ttl key
查看键还有多久过期,当key不存在时返回-2,没有设置过期时间返回-1 -
select 0
代表当前数据库,默认为0数据库,数据库[0-15] -
move set1 1
把键set1移动到1库 -
persist key1
取消 key1的过期时间 -
randomkey
随机返回一个key -
rename old_key new_key
重命令key -
type key1
返回键的类型 -
dbsize
-
info
-
flushdb
-
flushall
-
bgsave
-
save
-
config get *
-
config get dir
-
config set dir