Redis的基本操作

// string类型操作,数据结构为一个键值对,均为string类型

// 设置k的值v,若k存在,直接替换
set k v
// 设置k的值v,前提是k不存在,否则返回0
setnx k v
// 设置k的值v,且有效期为n秒,超过有效期,键值消失
setex k n v
// 将k的值v中第三个及之后的全部字符替换为newv,下标从0开始
setrange k 3 newv
// 设置k的值v,且一次可以设置多对键值
mset k1 v1 k2 v2 k3 v3 ..
// 设置k的值v,且一次可以设置多对键值,前提是k不存在
msetnx ..

// 返回k的值
get k
// 设置k的值v,同时返回k的旧值,没有返回nil
getset k v
// 返回k的值v中的第0到第6个字符
getrange k 0 6
// 返回k的值v中倒数第7到倒数第1个字符
getrange k -7 -1
// 一次返回多个k的值v,没有返回nil
mget k1 k2 k3 ..
// 将k的值v加1,若值为非数字出错。若k不存在,创建k并设置值v为1
incr k
// 将k的值v加num,若k不存在,创建k并设置值v为num
incrby k num
// 将k的值v减1,若k不存在,创建k并设置值v为-1
decr k
// 将k的值v减num,若k不存在,创建k并设置值v为-num
decrby k num
// 给k的值v追加apstr
append k apstr
// 返回k的值v的长度
strlen k
// 测试k是否存在
exists k
// 删除指定的k
del k


// hash类型操作,数据结构类似表,表的每一行为string类型的键值对

// 在myhash中添加k、v键值
hset myhash k v
// 在myhash中添加k、v键值,前提k不存在
hsetnx myhash k v
// 在myhash中一次性添加多个键值
hmset myhash k1 v1 k2 v2 k3 v3 ..
// 返回myhash中k的值v
hget myhash k
// 一次性返回myhash中多个k的值v
hmget myhash k1 k2 k3
// 将myhash中k的值v加num
hincrby myhash k num
// 测试myhansh中是否存在k
hexists myhash k
// 返回myhash中键值对的数量
hlen myhash
// 删除myhash中指定的k
hdel myhash k
// 返回myhash中所有的k
hkeys myhash
// 返回myhash中所有的v
hvals myhash
// 返回myhash中所有的键值
hgetall myhash


// list类型操作,数据结构类似链表,链表名字对应键k,所有的链表结点对应值v,有序可重复

// 从mylist表头插入值v,mylist是链表的名字,就是k,l是left缩写
lpush mylist v
// 从mylist表尾插入值v,r是right缩写
rpush mylist v
// 返回mylist第0个到倒数第1个结点的所有值v。结点下标左侧从0开始,右侧从-1开始,正数从表头算,负数从表尾算
lrange mylist 0 -1
// 在mylist的oldv值之前插入newv值
linsert mylist before oldv newv
// 设置mylist的指定下标2处的值为newv,若2处存在值替换
lset mylist 2 newv
// 从mylist中顺序删除count个值为v的结点,count为正数从表头算,为负数从表尾算,为0删除全部值为v的结点
lrem mylist count v
// 保留mylist中第一个到最后一个的所有结点,其余删除
ltrim mylist 1 -1
// 从mylist表头删除一个元素
lpop mylist
// 从mylist表尾删除一个元素
rpop mylist
// 从mylist1表尾删除元素,并从mylist2的表头插入被删除的元素
rpoplpush mylist1 mylist2
// 返回mylist中指定下标0处的值v
lindex mylist 0
// 返回mylist的长度
len mylist


// set类型操作,数据结构类似数学中的集合,集合名字对应键k,集合中的所有元素对应指v,无序不可重复,非线程安全

// 在myset中添加值v,myset是集合的名字,就是k
sadd myset v
// 返回myset中的所有元素
smembers myset
// 删除myset中值为v的元素
srem myset v
// 随机删除myset中的一个元素
spop myset
// 返回myset1与myset2的差集,为myset1中删除与myset2相同的元素后myset1中剩余的元素
sdiff myset1 myset2
// 将myset1与myset2的差集赋给myset3,并返回myset3的全部元素
sdiffstore myset3 myset1 myset2
// 返回myset1与myset2的交集
sinter myset1 myset2
// 将myset1与myset2的交集赋给myset3,并返回myset3的全部元素
sinterstore myset3 myset1 myset2
// 返回myset1与myset2的并集
sunion myset1 myset2
// 将myset1与myset2的并集赋给myset3,并返回myset3的全部元素
sunionstore myset3 myset1 myset2
// 从myset1中删除值为v的元素,并添加到myset2
smove myset1 myset2 v
// 返回myset中元素的个数
scard myset
// 测试myset中是否存在值为v的元素
sismember myset v
// 随机返回myset中的一个元素
srandmember myset


// sorted set类型操作,有序的set,数据结构的每个元素中添加了一个位置属性,位置不是下标,从1开始

// 在myzset中的指定位置1添加值为v的元素,若该元素已存在,则仅更新元素的位置
zadd myzset 1 v
// 返回myzset中的所有元素以及元素的位置
zrange myzset 0 -1 withscores
// 从myzset中删除值为v的元素
zrem myzset v
// 将myzset中的值为v的元素的位置加num,若元素不存在,添加元素v,且设置位置为num
zincrby myzset num v
// 返回myzset中值为v的元素下标,下标不是位置,先对myzset中元素按位置进行升序排序,然后返回下标,下标从0开始
zrank myzset v
// 返回myzset中值为v的元素下标,先对myzset中元素按位置进行降序排序,然后返回下标,下标从0开始
zrevrank myzset v
// 先对myzset中的元素按位置降序排序,然后返回指定下标范围的元素与位置
zrevrange myzset 0 -1 withscore
// 返回myzset中指定位置范围的元素与位置
zrangebyscore myzset 2 3 withscore
// 返回myzset中指定位置范围内元素的个数
zcount myzset 2 3
// 返回myzset中元素的个数
zcard myzset
// 返回myzset中值为v的元素的位置
zscore myzset v
// 先对myzset中的元素按照]位置升序排序,然后删除下标在3到3之间的元素
zremrangebyrank myzset 3 3
// 先对myzset中的元素按位置升序排序,然后删除位置在3到3之间的元素
zremrangebyscore myzset 3 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值