通用操作
-- 查看所有key
keys *
-- 删除名为my1,my2的key
del my1 my2
-- 判断名为my1的key是否存在
exists my1
-- 把名为company的key改为newcompany
rename company newcompany
-- 设置newcompany的失效时间为1000秒
expire newcompany 1000
-- 查看newcompany剩余有效时间
ttl newcompany
-- 查看newcompany的数据类型
type newcompany
redis数据结构之字符串
-- 创建key为person value为jack的数据
set person jack
-- 得到key为person的值
get person
-- 给key为num的数值加1
incr num
-- 给key为num的数值减1
decr num
-- 给key为num的值加5
incrby num 5
-- 给key为num的值减3
decrby num 3
-- 在key为num的字符后面加5,如num为3,则append后为"35"
append num 5
redis数据结构之哈希
-- 创建key为myhash,username为jack的数据
hset myhash username jack
-- 批量创建key为myhash2中的数据
hmset myhash2 username rose age 21
-- 得到key为myhash中的username的值
hget myhash username
-- 得到myhash中username和age的值
hmget myhash username age
-- 得到myhash中所有的数据
hgetall myhash
-- 删除myhash2中username和age的数据
hdel myhash2 username age
-- 删除myhash2
del myhash2
-- 为key为myhash中age的值加5
hincrby myhash age 5
-- 判断myhash中是否存在username的数据(返回1或0)
hexists myhash username
-- 返回myhash中的数据个数
hlen myhash
-- 返回myhash中所有的key
hkeys myhash
-- 返回myhash中所有的值
hvals myhash
redis数据结构之list
-- 把abc依次从头部插入mylist中(最后放入的index为0)
lpush mylist a b c
-- 把123依次从尾部插入mylist2中(最先放入的index为0)
rpush mylist2 1 2 3
-- 查看mylist中的所有数据从下标0开始,到-1(最后元素的位置)结束
lrange mylist 0 -1
-- 从头部弹出(删除)元素
lpop mylist
-- 从尾部弹出元素
rpop mylist
-- 查看mylist元素个数
llen mylist
-- 只有当mylist存在时在mylist头部插入x,否则返回0
lpushx mylist x
-- 只有当mylist存在时在mylist尾部插入y,否则返回0
rpushx mylist y
-- 从头部开始删除共2个3
lrem mylist3 2 3
-- 从尾部开始删除共2个1
lrem mylist3 -2 1
-- 删除mylist3中所有2
lrem mylist3 0 2
-- 把mylist3中下标为3的元素值设为mm
lset mylist3 3 mm
-- 从头部开始在第一个b元素前插入11
linsert mylist4 before b 11
-- 从头部开始在第一个b元素后插入22
insert mylist4 after b 22
-- 删除mylist5最后一个元素同时插入到mylist6头部rpoplpush mylist5 mylist6
redis数据结构之set
-- 创建并在myset中加入abc
sadd myset a b c
-- 删除myset中的1,2
srem myset 1 2
-- 查看myset中的元素
smembers myset
-- 判断myset中是否存在a
sismember myset a
-- 返回mya1中有myb1中没有的元素(差集)
sdiff mya1 myb1
-- 返回mya2与myb2共有的元素(交集)
sinter mya2 myb2
-- 返回mya3与myb3共有的元素(并集)
sunion mya3 myb3
-- 返回myset元素个数
scard myset
-- 随机返回myset中的一个元素
srandmember myset
-- 把mya1与myb1的差集存入my1中
sdiffstore my1 mya1 myb1
-- 把mya2与myb2的交集存入my2中
sinterstore my2 mya2 myb2
-- 把mya3与myb3的并集存入my3中
sunionstore my3 mya3 myb3
redis数据结构之sorted-set(类似tree-set)
-- 在名为mysort的sorted-set中添加分数为70值为zs,分数为80值为ls,分数为90值为ww的数据
zadd mysort 70 zs 80 ls 90 ww
-- 不会重复插入,但会把zs的分数改为100
zadd mysort 100 zs
-- 查看mysort中zs的分数
zscore mysort zs
-- 查看mysort中元素个数
zcard mysort
-- 删除mysort中名为tom和ww的元素
zrem mysort tom ww
-- 查看mysort中所有元素
zrange mysort 0 -1
-- 查看mysort中所有元素及分数(按分数正序)
zrange mysort 0 -1 withscores
-- 查看mysort中所有元素及分数(按分数倒序)
zrevrange mysort 0 -1 withscores
-- 删除排名 (下标)为0-4的元素
zremrangebyrank mysort 0 4
-- 删除分数为80-100的元素
zremrangebyscore mysort 80 100
-- 查看分数在0-100的元素
zrangebyscore mysort 0 100
-- 查看分数在0-100的元素和分数
zrangebyscore mysort 0 100 withscores
-- 查看分数在0-100的前两个元素和分数
zrangebyscore mysort 0 100 withscores limit 0 2
-- 给ls加3分
zincrby mysort 3 ls
-- 查看分数在80-90间的元素个数
zcount mysort 80 90
redis事务操作
-- 选择1号数据库(0开始共16个)
select 1
-- 把当前数据库中key为myset的数据移动到1号数据库中
move myset 1
-- 开启事务(begin transaction)
multi
-- 提交事务(commit)
exec
-- 回滚事务(rollback)
discard
例如:
multi
incr num
exec
---------------------------------------
multi
set user jerry
discard