Redis的五种数据类型和操作命令

Redis键

命令涵义
keys *查看当前库所有key
exists key判断某个key是否存在
type key查看你的key是什么类型
del key删除是定的key数据
unlink key根据value选择非阻塞删除
expire key 1010秒钟:为给定的key设置过期时间
ttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期
select切换库
dbsize查看当前库的key的数量
flushdb清空当前库
flushall清空所有库

Redis启动

在/usr/local/bin目录下运行
redis-server ~/desktop/redis.conf

Redis的五种数据类型

Redis字符串(String)

常用命令

value最大为512M

命令涵义
set key value添加键值对
get key== 查询对应键值==
append key value追加到原值的末尾
strlen key获取值得长度
setnx key value只有咋ikey不存在时 设置key的值
incr key将key中存储的数字值增1 (只能对数字值操作,如果为空,新增值为1)
decr key将key中存储的数字值减1(只能对数字值操作,如果为空,新增值为-1)
incrby key 10加10
decrby key 10减10
mset key1 value1 key2 value2…设置多个key-value对
mget key1 key2 key3…取多个value
msetnx key1 value1 key2 value2…同时设置多个key-value对。当且仅当所有key都不存在
getrange key 开始位置 结束位置获取范围的值(都是闭区间,索引从0开始)
setrange key 开始位置 value用value覆盖key所存储的字符串
setex key 过期时间 value设置key-value的同时设置过期时间
getset key value通新值换旧值,并且去除旧值

Redis列表(List)

单键多值
底层是双向链表

常用命令

命令涵义
lpush key value1 value2 value3…从左边插入一个或多个值
rpush key value1 value2 value3…从右边插入一个或多个值
lpop key从左边突出一个值(吐出之后为空,则键消失)
rpop key从右边突出一个值(吐出之后为空,则键消失)
rpoplpush key1 key2从key1列表中右边吐出一个值,插入到key2的左边
lrange key start stop按照索引获取元素(从左到右)
lrange mylist 0 -1去所有值
lindex key 0从左到右,索引0开始,取一个元素
llen key获取列表长度
linsert key before value newvalue在value的后面插入newvalue插入值
lrem key n value从左边删除n个value(从左到右)
lset key index value将列表key下标为index的值替换为value

Redis集合(Set)

结构是hash结构

常用命令

命令涵义
sadd key value1 value2…将一个或多个vaule添加到集合key中,如果存在value则忽略
smembers key去除该集合的所有值
sismenber key value判断集合中是否存在value值,有则为1,无则为0
scard key返回该集合的元素个数
srem key value1 value2删除集合中的某个元素
spop key随机从该集合中吐出一个值
srandmember key n随机从该集合中取出n个值。不会从集合中删除
smove source destination value把集合中的一个值移动到另一个集合
sinter key1 key2返回两个集合的交集元素
sunion key1 key2返回两个集合的并集元素

sdiff key1 key2 返回两个集合的差集元素(key1中的,不包含key2中的)

Redis哈希(Hash)

类似于java中的map<Sring , Object>,即value为对象。
当长度小的时候是,压缩列表
当长度大的时候是,哈希表

常用命令

命令涵义
hset key field value给key集合中的field键赋值value
hget key1 field从key1集合field取出value
hmset key1 field1 value1 field2 value2…批量设置hash的值
hexists key field查看哈希表key中,给定域field是否存在
hkeys key列出该hash集合的所有field
hvals key列出该hash集合的所有value
hincrby key field increment为哈希表key中的域field的值加上增量1 -1
hsetnx key field value将哈希表key中的域field的值设置为value 当且仅当域field不存在

Redis有序集合(Zset)

常用命令

底层相当于java中的map<String,Double>

命令涵义
zadd key score1 value1 score2 value2 …将一个或多个元素及其score值加入到有序集key中
zrange key star stop [WITHSCORES]放回有序集key中,下标在star stop之间的元素,带[WITHSCORES],可以让分数一起和值返回到结果集
zrangebyscore key min max [withscores] [limit offset count]返回有序集key中 所有score值介于min 和max之间的成员。有序集成员按score值递增次序排列
zrevrangebyscore key max min [withscores] [limit offset count]返回有序集key中 所有score值介于max 和min之间的成员。有序集成员按score值递减次序排列
zincrby key increment value为元素的score加上增量
zrem key value删除该集合下,指定值的元素
zcount key min max统计该集合,分数区间内的元素个数
zrank key value返回该值在集合中的排名,从0开始
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值