Redis学习一

5种基本数据类型

String

String是Redis中最简单的一种数据结构。在Redis中,所有的Key都是字符串,但是不同的key对应的value的具备的数据结构不同。

Redis中的字符串是动态字符串,内部阔以修改,像StringBuffer, 采用分配冗余空间的方式来减少内存的频繁分配。

在Redis内部结构中,一般实际分配的内存会大于实际需要的内存,当字符串小于 1M 时,扩容是在当前空间基础上加倍。扩容每次扩1M,最大512M

常用的基础命令

set给一个key赋值
append使用 append 命令时,如果 key 已经存在,则直接在对应的 value 后追加值,否则就创建新的键值对
decr阔以实现对 value 的减1操作(value必须为数字)否则报错 value不存在 会有默认值0
decrby与decr功能类似 但是阔以自行设置 减去多少
get获取key的value
getrange用来返回一个key的子串 功能类似Java中的 substring 用法[getrange key m n]m起始 n结束
getset获取并更新某个key
incr自增1
incrby阔以自行设置增加多少
incrbyfloat与incrby功能一样 但是阔以设置浮点数
mget批量获取
mset批量设置
ttl查看key的有效期
setex赋值的同时,设置过期时间
setnx如果key存在则赋值无效,不存在则功能与set一致
setrange覆盖一个已经存在的key的value
strlen查看字符串长度

BIT命令

在Redis中,字符串是以二进制的方式存储。BIT相关的命令直接对二进制进行操作。

List

列表用来存储多个有序的字符串,一个列表最多可以存储2^32 - 1个元素,在redis中可以对列表的两端插入push和弹出pop,还可以取指定范围的元素。
常用的基础命令

lpush表示将value从左往右一次插入表头位置
lrange返回指定区间内的元素
lpop移除并返回列表的头元素
rpush与lpush功能相反
rpop移除并返回列表的尾元素
lindex返回列表中 index 的元素
ltrim对列表进行修剪
blpop阻塞式的弹出 相当于 lpop 的阻塞版

Set

集合是用来保存多个字符串的元素,内部不允许有重复远古三,集合内的元素是无序的,Redis支持集合的增删改查,同时支持多个集合取交集,并集,差集。
常用的基础命令

sadd添加一个元素到 key 中
smembers获取一个 key 下的所有的元素
srem移除指定元素
sismember返回某一个成员是否在集合中
scard返回集合数量
srandmember随机返回一个元素
spop随机返回并且出栈一个元素
smove移动一个元素到另一个集合中
sdiff返回两个集合的差集
sdiffstore返回两个集合的差集并存储在一个新的集合中
sinter返回两个集合的交集
sinterstore返回两个集合的交集并存储在一个新的集合中
sunion求并集
sunionstore返回两个集合的并集并存储在一个新的集合中

Hash

Hash一般也被称为字典,redis自己也可以作为一个比较大的hash存储。
常用的基础命令

hset添加值
hget获取值
hmset批量添加
hmget批量减少
hdel删除指定的filed
hsetnx默认情况下,如果 key 和 field 相同,会覆盖掉已有的 value,hsetnx 则不会
hvals获取所有的value
hgetall获取所有的key和value
hexists返回的filed是否存在
hincrbyfloat自增一个浮点数
hlen返回某个key的value数量
hstrlen返回key中filed的字符串长度

ZSet

有序集合。它保留了元素不能重复的特性,并且元素是有序的。
常用的基础命令

zadd添加指定元素到有序集合中
zscore返回member的score值
zrange返回集合中一组元素
zreverange倒序返回一组元素
zcard返回元素个数
zount返回 score 在某一个区间内的元素
zrangebyscore按照 score 的范围返回元素
zrank返回元素的排名(从小到大
zrevrank返回元素排名(从大到小
zincrbyscore 自增
zinterstore给两个集合求交集
zrem弹出一个元素
zlexcount计算有序集合中成员的数量
zrangebylex返回指定区间内的成员
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值