redis五种数据结构的指令
一、基本常用命令
select 选择数据库 0-15共16个库
keys 返回所有的键 keys mylist*代表取出所有mylist开头的键
exists 确认一个键存在不
del 删除一个键
expire 设置一个键的过期时间 expire addr 10 给addr键设置10秒存活时间
ttr 查看一个键的剩余时间(当一个键已经过期返回-2,当一个键存在但是没有设置过期时间返回-1)
persisit 用来移除给定key的过期时间
move 搬运数据库 select 0 set age 14 move age 1 将0数据库中的age搬运到1数据库中。
randomkey 返回一个随机key
rename:重命名一个键
type: 判断一个键的类型
ping:测试连接是否联通 通了的话返回pong
echo:打印
quit:退出
dbsize:返回当前数据库中的键的个数
info:返回服务器的信息统计
monitor:开启监视器,当另外开启一个客户端的时候,可以监听其动作
flushdb:删除当前数据库中的所有key
flushall:删除所有数据库中的key
二、字符串类型
set
setnx : 设置key对应的值为String类型的value,如果key存在,返回0,nx是not exist的意思 ,setnx name zxc
setex 设置key的值,并指定其有效时间,setex haircolor 10 red
setrange 按照范围存值 setrange name 7 gmail.com 将包含第七位开始的name替换为gmail.com
mset: 多个存 mset key1 zxc1 key2 zxc2
mget: 多个取 mget key1 key2
msetnx
getset: 设置key的值,返回key的旧值
getrange getrange name 1 2 (从左往右下标第一个是0,从右向左第一个下标是-1)
incr 加一
incrby 加多个
decr
decrby
append append name @126.com
strlen
del
get
三、hash
hset hset myheap field1 hello
hget hget myhash field1
hsetnx
hmset
hmget
hincrby
hexists
hlen
hdel
hkeys
hvals
hgetall
四、list(双向)
lpush lpush mylist world(从左)
lrange
rpush 从右进
linsert linsert mylist3 before world there
lset 指定下标的元素值赋值 rpush mylist one lset mylist 0 four
lrem
ltrim 保留指定key的值的范围内数据 ltrim mylist 1 -1 保留从1开始的所有数据
lpop
rpop
rpoplpush rpoplpush mylist5 mylist6 从mylist5的尾部移除元素,添加到mylist6头部,最后返回被移除的元素值。
lindex
llen
五、set集合
sadd sadd myset hello
srem
spop
sdiff 返回差集 sdiff myset2 myset3
sdiffstore 返回差集并将结果保存为另一个key sdiffstore myset1 myset2 myset3,最后存到myset3上了
sinter 返回交集
sinterstore
sunion 返回并集
sunionstore
smove 移除元素
scard 返回名称为key的所有元素个数
sismember 测试member时候是名称为key的set的元素
srandmember
六、zset排序集合
zadd zadd myzset 1 one 代表顺序,one代表值
zrange myzset 0 -1 withscores 显示所有元素(包括其顺序值)
zrem 删除名称为key的member
zincrby
zrank 返回指定key的排名(按照score从小到大顺序)
zrevrank score从大到小
zrevrange 返回名称是key的zset中的index从start到end的所有元素
zrangebyscore
zcount 返回score在给定区间的数量
zcard
zscore
zremrangebyrank
zremrangebyscore