赞
踩
一、hash操作
数据结构:key:{k1:v1, k2:v2, k3:v3} 类似Python中的字典
如:info : {name: lina, age: 22, sex: F}
批量设置获取
获取所有keys
获取所有values
查看键值下面的k个数
- 127.0.0.1:6379> hset info name lina
- (integer) 1
- 127.0.0.1:6379> hget info name
- "lina"
- 127.0.0.1:6379> hmset info age 22 sex F
- OK
- 127.0.0.1:6379> hmget info name age sex
- 1) "lina"
- 2) "22"
- 3) "F"
- 127.0.0.1:6379> hkeys info
- 1) "name"
- 2) "age"
- 3) "sex"
- 127.0.0.1:6379> hvals info
- 1) "lina"
- 2) "22"
- 3) "F"
- 127.0.0.1:6379> hlen info
- (integer) 3
1.2 hash 下几个常用方法
删除key 下指定键值
判断key 下指定键值是否存在
- 127.0.0.1:6379> hdel info sex
- (integer) 1
- 127.0.0.1:6379> hexists info sex
- (integer) 0
在hash操作中一个key 能存200亿条数据,如果使用 hmget key 命令,那占用内存,和速度就太慢了
所以使用扫描,类是python 中生成器一样的方式:
- 127.0.0.1:6379> hscan info 0 match na* count 1
- 1) "0"
- 2) 1) "name"
- 2) "lina"
二、列表操作
- lpush key value1 value2 value3 创建一个列表,并从左往右依次放入数据(FILO) - rpush key value value2 同理上面,右往左放入(FIFO)
- 127.0.0.1:6379> lpush list 1 2 3
- (integer) 3
- 127.0.0.1:6379> rpush list 1 2 3
- (integer) 6
- 127.0.0.1:6379> lrange list 0 -1
- 1) "3"
- 2) "2"
- 3) "1"
- 4) "1"
- 5) "2"
- 6) "3"
- 127.0.0.1:6379> llen list
- (integer) 6
2.2 往列表中插入元素,删除元素等
注意:如果有重复值,以找到的第一个为标杆
- (integer) 6
- 127.0.0.1:6379> linsert list before 1 insert
- (integer) 7
- 127.0.0.1:6379> lrange list 0 -1
- 1) "3"
- 2) "2"
- 3) "insert"
- 4) "1"
- 5) "1"
- 6) "2"
修改指定索引的值:
删除指定位置的值:
从列表左边获取一个值返回,并删除它
获取指定索引的值
删除指定范围之外的所有元素
- 127.0.0.1:6379> lrange list 0 -1
- 1) "3"
- 2) "2"
- 3) "insert"
- 4) "1"
- 5) "1"
- 6) "2"
- 7) "3"
- 127.0.0.1:6379> lset list 1 'lina'
- OK
- 127.0.0.1:6379> lrem list 2 1
- (integer) 2
- 127.0.0.1:6379> lpop list
- "3"
- 127.0.0.1:6379> lrange list 0 -1
- 1) "lina"
- 2) "insert"
- 3) "2"
- 4) "3"
- 127.0.0.1:6379> ltrim list 0 1
- OK
- 127.0.0.1:6379> lrange list 0 -1
- 1) "lina"
- 2) "insert"
- 127.0.0.1:6379> lindex list 1
- "insert"
2.3 几个不常用的命令,但很厉害
把列表一右边pop 添加到列表2 lpush 左边
左边删除一个数据,如果列表为空,就等待超时时间,在超时时间内,列表中出现了元素理解删除。像队列中的queue一般
三、set集合
创建一个集合:
查看集合中的成员:
返回集合中的元素个数:
差集:
将两个集合中的差集放入第三个集合
交集:
并集:
检查元素是否为集合中成员:
sismember key value
spop key
sscan key cursor match pattern
四、有序集合
zadd key 权重值 member 权重值2 member2 权重值3 member3
zrange key start end 可选参数为 withscores
zcount key min max 统计权重最小到最大
- 127.0.0.1:6379> zadd zz 1 shiqi 2 zengyue 3 yuan
- (integer) 3
- 127.0.0.1:6379> zrange zz 0 -1
- 1) "shiqi"
- 2) "zengyue"
- 3) "yuan"
- 127.0.0.1:6379> zrange zz 0 -1 withscores
- 1) "shiqi"
- 2) "1"
- 3) "zengyue"
- 4) "2"
- 5) "yuan"
- 127.0.0.1:6379> zcount zz 1 2
- (integer) 2
zrank key member 获取成员排名
zrem key member member2 删除指定成员
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。