Strings数据类型

Strings

Redis strings存储字节序列,包括text,序列化的对象,还有字节数组。真正意义上来说,strings是redis中最基本的数据类型。他经常被用于缓存,但是它也支持额外的功能,允许你实现计数器、按位执行操作等等。

例子

  • 存储并获取string
>SET user:1 salvatore
OK
>GET user:1
"salvatore"
  • 存储一个序列化的json string,并且设置其100s的过期时间
>SET ticket:27 "\"{'username':'priya','ticket_id':321}\"" EX 100
  • 给一个计数器增加数值
>INCR views:page:2
(integer) 1
>INCRBY views:page:2 10
(integer) 11

限制

默认情况下,一个单独的string,其最大值是256MB

基本的命令

获取和设置strings

  • SET 存储一个string的值
  • SETNX 当key不存在的时候,存储一个string的value。通常用于实现锁
  • GET 获取一个string的值
  • MGET 在一个操作中获取多个string的值

管理计数器

  • INCRBY 原子地给计数器增长给出的值(当给出的值为负数的时候,则会给计数器减去对应的值)
  • 用于操作浮点计数器的命令:INCRBYFLOAT

按位操作

这个需要看bitmaps这个数据类型的文档

性能

大多数的string操作时间复杂度是O(1),这意味着它是高效率的。但是,在使用SUBSTR,GETRANGE,SETRANGE这三个命令的时候要小心,他们的时间复杂度是O(n)。当处理大的string的时候,这些随机访问string的命令可能会引起性能问题。

其他选择

如果你打算以序列化的string存储结构化的数据的话,你可以考虑使用Redis hashes或者RedisJSON

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值