大数据|Redis五大数据类型之String(三)
文章图片
文章图片
Redis中有五种基础的数据类型 , 分别是:string字符串、List集合、Set集合、Hash表、Zset集合(redis 6.0开始新增了三种数据类型:Bitmaps、HyperLogLog、Geospatial , 在后面的文章会介绍) , 这篇文章介绍一下基础数据类型中的string字符串类型 。
一、redis中string字符串数据结构redis中的string底层是使用简单动态字符串(Simple Dynamic String , 简称SDS)实现的 , 是可以修改内容的字符串 , 类似于java中的ArrayList数据结构 。
string字符串采用预分配冗余空间的方式来减少内存的频繁分配 。
redis中string字符串实际分配的空间capacity一般要高于实际字符串长度 。
二、redis操作string字符串(1)单个key操作
redis中string字符串扩容机制:
1、当字符串长度小于1M时候 , 扩容是加倍现有空间 。 (扩容后空间=当前空间*2)
2、当字符串长度大于1M时候 , 扩容时 , 一次只会扩容1M的空间 。
3、字符串最大长度512M 。
1、set命令作用:添加键值对数据到redis 。
2、get命令作用:获取redis中指定key的value值 。
set key名称 value值 # 成功返回OK , 失败报错
3、append命令作用:追加到原值的末尾 。
get key名称 # 返回key对应的value值
4、strlen命令作用:获得指定key的value长度 。
# 将给定的value值 , 追加到原先key的value值后面
# 返回追加后 , value值的长度
append key名称 追加的value值
5、setnx命令作用:设置key-value , 当key不存在时候 , 才会设置key的值 。
strlen key名称
6、incr命令作用:将key中存储的数字值增加1 , 只能对数字值操作 。 如果为空 , 则新增值等于1 。 注意:在redis中 , incr、decr操作 , 是具备原子性的 。
setnx key名称 value值 # 成功返回1 , 失败返回0
7、decr命令作用:将key中存储的数字值减少1 , 只能对数字值操作 。 如果为空 , 则新增值等于-1 。
incr key名称 # 返回加1后的数字值 # 返回结果值
8、incrby命令作用:将key中存储的数字值增加自定义值step , 只能对数字值操作 。
decr key名称 # 返回减1后的数字值 # 返回结果值
9、decrby命令作用:将key中存储的数字值减少自定义值 , 只能对数字值操作 。
incrby key名称 增加多少值step # 返回结果值
【大数据|Redis五大数据类型之String(三)】具体代码操作案例如下:
decrby key名称 减少多少值 # 返回结果值
(2)多个key操作1、mset命令作用:同时设置多个key-value的值 。
2、mget命令作用:同时获取多个key的value值 。
mset key1名称 value1值 key2名称 value2值.... # 成功返回OK , 失败报错
3、msetnx命令作用:同时设置多个key-value的值 , 只有当key都不存在时候 , 才会设置成功 。 (注意:原子性 , 有一个失败 , 则都失败 。 )
mget key1名称 key2名称 key3名称....
- 苹果|库克压力确实大,在众多国产厂家对标下,iPhone13迎来“真香价”!
- text|《2021大数据产业年度创新技术突破》榜重磅发布丨金猿奖
- 知乎|电商达人迎来补税大潮,知乎带货第一人,被通知补税34万!
- 三星|试图挽回中国市场,国际大厂不断调价,从高端机皇跌到传统旗舰价
- 京东|适合过年送长辈的数码好物,好用不贵+大牌保障,最后一个太实用
- m都是大片!微软 Skype 支持将必应 Bing 图片设为通话虚拟背景
- 酷睿处理器|关键数据出炉,京东比阿里差远了
- 大屏|尺寸直追笔记本 曝国产厂商将推出高刷大屏旗舰平板
- PSVR|Resolution Games将大力支持开发PSVR 2游戏
- 华为鸿蒙系统|华为偷偷上架新机,鸿蒙系统+5000mAh大电池,仅售1399元