Redis——String类型

Redis的数据类型一共分为9种,分别是 String(字符串)、list(列表)、Hash(哈希)、set(集合)、ZSet(有序集合)、Geo(位置信息)、bitmap(位图)、HyperLogLog(基数统计)、Stream(流)。

Redis——String类型(一)

String是Redis最基本的数据类型,一个键最大能存储512MB。String类型是数据安全的。意思就是redis的String类型可能包含任何数据。

原理:redis的字符串是动态的字符串,它类似于Java中的ArrayList。采用预分配冗余空间的方式减少内存的频繁分配。内部的为字符串分配的空间往往大于实际字符串的值,当字符串长度<1MB时,每次扩容会加倍(当前空间乘以2);当字符串长度大于1MB时,每次只会增加1MB,直到增加至512MB。

String类型相关的操作命令

相关命令:

1)set + key + 字符串:添加数据。

2)append + key + 字符串:在指定的key的值后面添加字符串。返回当前字符串的长度。

例如:先 set k1 "hello"

再 append k1 " world"

再获取 get k1 输出的是字符串 "hello world"

3)strlen + key:返回key对应的值的字符串长度。

4)getrange + key + start + end:获取初始位置到结束位置的值,从0开始计数,类似于java中String类型的subString方法。

与此相对应的方法:setrange + key + start + newString: 设置开始位置,替换该位置为新的字符串。

举个小栗子:

往数据库添加一个字符串 "hello world" (字符串中间有个空格,也算1位) ,键为k1, 然后进行setrange k1 6 hello操作,

得到的数据结果是:"hello hello",注意:开始位置start是从0开始。

5)setex + key +时间 + valu:这里的setex是一个整合命令,实际上等于 set + expire(expire上一篇我文章有讲),向数据库添加 值,并且设置数据的有效时间。

setnx + key + value : 同样也是一个整合命令,是set + exists 。如果key不存在,设置数据,返回1;如果存在,不设置,返回0

getset + key newValue :返回原来的值,然后设置新的值。

6)mget + key1 + key2 + key3 + ...:可以输入多个key,返回多个value。

mset + key1 + value 1 + key2 + valu2 + key3 + value3:可以设置多个key和value,参数本身是map键值对的形式。

msetnx + key1 + value 1 + key2 + valu2 + key3 + value3:和mset唯一的无别就是,需要判断key是否存在。

7)特别的情况,当value的值是整数时,可以通过命令直接进行数学运算。

incr key :自增,返回最新的值。

decr key :自减,返回最新的值。

incrby + key + n : 区别是增加计算的参数。当前key对应的值,加上n。

decrby + key + n: 减少,同上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何怀逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值