大数据|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名称....
- 徕卡|超大杯命名揭晓!卢伟冰换上小米12S Ultra
- 早报:华为P50 Pocket新色预售 百度世界大会定档
- 京东|裁员不忘膈应人,这家互联网大厂送的离职礼物恶心到我了!
- ZOL科技早餐:华为千元手表官宣,腾讯QQ回应大规模盗号
- 领军企业|30个!中国科协发布2022年科技领域重大问题难题
- iPhone14|准大学生的数码装备推荐
- 个头大的车厘子比小樱桃营养价值更高,对吗 蚂蚁新村6月28日答案最新
- iqoo|卡贴机大降价,iPhone13只要3000出头,网友都说“真香”
- ColorOS|绿厂又在憋大招?新系统和新产品接踵而至
- 数字化转型|新一代iPad Pro正在路上 外观、配置大升级
