Redis 相关操作
原创
©著作权归作者所有:来自51CTO博客作者Tom马的原创作品,请联系作者获取转载授权,否则将追究法律责任
相关命令
# 查看服务器是否允许
ping
# 关闭当前连接
quit
# 验证密码
auth
# 选择库 0-15 共16个,默认使用0
select
# 删除当前数据库
flushdb
# 删除所有数据库
flushall
# 删除键
del
# 检查键是否存在
exists
数据类型
字符串(String)最基本的数据类型
# 设置
set key value
# 获取
get key
哈希(Hash)键值对集合,适合存储对象
# hmset 创建一个person对象
# 对象名:user 对象属性:name gender age
hmset person name alice gender female age 18
# hgetall 获取所有属性
hgetall person
# hget 获取 name 单个属性
hget person name
列表(List)按照插入顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边)
#lpush 从左边添加
192.168.0.102:6379> lpush name tom jack helen #lpush 从左边添加 name 数组
(integer) 3
192.168.0.102:6379> lpush name alice #再添加
(integer) 4
192.168.0.102:6379> lrange name 0 100 #显示name数组
1) "alice"
2) "helen"
3) "jack"
4) "tom"
192.168.0.102:6379> llen name #查询数量
(integer) 4
#rpush 从右边添加
192.168.0.102:6379> rpush name frank #rpush 从右边添加 name 数组
(integer) 5
192.168.0.102:6379> lrange name 0 100 #显示name数组
1) "alice"
2) "helen"
3) "jack"
4) "tom"
5) "frank"
#lpop 从左边弹出
192.168.0.102:6379> lpop name #从左弹出一个
"alice"
192.168.0.102:6379> lrange name 0 100
1) "helen"
2) "jack"
3) "tom"
4) "frank"
#rpop 从右边弹出
192.168.0.102:6379> rpop name #从右弹出一个
"frank"
192.168.0.102:6379> lrange name 0 100
1) "helen"
2) "jack"
3) "tom"
集合(Set)String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
192.168.0.102:6379> select 3 #选择3数据库
OK
192.168.0.102:6379[3]> sadd name tom jack helen #添加 name 集合
(integer) 3
192.168.0.102:6379[3]> smembers name #显示所有数据
1) "helen"
2) "jack"
3) "tom"
192.168.0.102:6379[3]> scard name #统计个数
(integer) 3
192.168.0.102:6379[3]> spop name 1 #随机弹出一个
1) "tom"
192.168.0.102:6379[3]> smembers name #显示弹出后数据
1) "helen"
2) "jack"
有序集合(sorted set)有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。
192.168.0.102:6379[3]> select 4 #切换数据库4
OK
192.168.0.102:6379[4]> zadd name 1 tom #添加一个分数1的数据
(integer) 1
192.168.0.102:6379[4]> zadd name 4 jack #添加一个分数4的数据
(integer) 1
192.168.0.102:6379[4]> zadd name 2 helen #添加一个分数2的数据
(integer) 1
192.168.0.102:6379[4]> zrange name 0 -1 #按从小到大顺序显示所有数据集合
1) "tom"
2) "helen"
3) "jack"
192.168.0.102:6379[4]> zscore name jack #显示分数
"4"