Redis ApI

hash

其内部结构符合对象形式

>hset key field value
hset user:1 username petter
hset user:1 age 12
​
获取所有参数与结果
127.0.0.1:6379> hgetall user:1
1) "username"
2) "petter"
3) "age"
4) "13"
​
获取所有key
127.0.0.1:6379> hkeys user:1
1) "username"
2) "age"

获取所有值
127.0.0.1:6379> hvals user:1
1) "petter"
2) "13"
命令 复杂度
hget hset hdel o(1)
hexists o(1)
hincrby o(1)
hgetall hvals hkeys o(n)
hmget hmset o(n)

list

是一种有序可重复结构链表

rpush 从右侧插入 rpush key value1...value n

lpush 从左侧插入 lpush key value1...value n

>127.0.0.1:6379> rpush number a b c
(integer) 3
127.0.0.1:6379> lrange number 0 -1
1) "a"
2) "b"
3) "c"
​
​
127.0.0.1:6379> lpush number1 a b c
(integer) 3
127.0.0.1:6379> lrange number1 0 -1
1) "c"
2) "b"
3) "a"

linsert key before/after value newvalue 在一个值前/后插入新值

linsert number before a java 在a前面插入java

lpush rpush 左弹出值 右弹出值

删除:lrem lrem key count value 删除在这个key列表中的值 (count 多少个相同的)

count=0 删除所有 值是value的

count>0 从左往右删除

count<0 从右往左删除

保留部分: ltrim key start end 按照索引要求修改列表 (保留 i -> j 位范围内的值

ltrim number 1 2 a b c 中 a被去除 保留 b c

此功能用于大型redis列表删除性能优秀

lset key index newValue 设置列表指定索引值为newValue o(n)

lrange key start end (包含end) 获取列表指定索引范围内所有的item

>lrange number 0 1 
a b
查询范围当结尾
lrange number 1 -1
b c

lindex key index 查询对应数值 o(n)

llen 查询长度 o(1)

使用范围

功能用于时间轴 更新微博直接置顶显示

set

无序不可重复的数据结构

sadd key element 向集合key中添加element (如果element存在则添加失败) o(1)

srem key element 将集合key中的element移除 o(1)

smembers 小心使用 显示所有时会造成阻塞并且显示结果无序

image-20200817150103253.png

sdiff 差集 sinter 交集 sunion 并集

sdiff number:1 number:2 store destkey 将交集结果保存在destkey中

用途

抽奖系统 获取 然后随机弹出 spop

共同关注 集合间操作

zset

有序集合:具有分数可以排序。

image.png

zadd key score element (可以是多对)o(logN)

zincrby key increScore element

>zincrby user:1 9 age   年龄增加九岁

zrem key element (可以是多个)

zremrangebyrank key start end 删除指定排名内的升序元素

zremrangebyscore key minScore maxScore 删除指定分数内的升序元素

zscore key element 返回元素的分数

zcard key 返回元素个数

zrange key start end [withscores] 返回指定索引范围内的升序元素[分值]

zrangebyscore key minScore maxScore [withscores] 返回指定分数范围内的升序元素[分值]

zcount key minScore maxScore 返回有序集合内在指定分数范围内的个数

用于排行榜

你可能感兴趣的:(Redis ApI)