Redis常用数据类型之字符串String

1.介绍

  • String是Redis最基本的类型,一个key对应一个value
  • String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象
  • 一个字符串value最多可以是512M

2.操作

  • set <key> <value>:添加键值对
set k1 100
set k2 200
  • get <key>: 查询对应键值
# 获取k1的值
get k1
  • append <key><value>:将给定的追加到原值的末尾
# 在k1的末尾加上abc
append k1 abc
  • strlen <key>:获得值的长度
# 获取k1的长度
strlen k1
  • setnx <key> <value>:只有在key不存在时,设置key的值
# 如果k1不存在,将k1设置为bbb
setnx k1 bbb
  • incr <key>: 将key中存储的数字加1,只能对数字值操作,如果为空,新增值为1
# 将k1的值增加1
incr k1
  • decr <key>: 将key中存储的数字减1,只能对数字值操作,如果为空,新增值为-1
# 将k1的值减少1
decr k1
  • incrby/decrby <key> <步长>: 将key中存储的数字值增减,自定义步长
# 将k1的值增加20
incrby k1
  • mset <key1><value1><key2><value2>......: 同时设置一个或多个key-value对
mset k1 v1 k2 v2 k3 v3
  • mget<key1><key2><key3>...: 同时获取一个或多个value
# 获取 k1、k2、k3的值
mget k1 k2 k3
  • msetnx<key1><value1><key2><value2>......: 同时设置一个或多个key-value对,当且仅当所有给定key都不存在。原子性,有一个失败则都失败
msetnx k1 v1 k2 v2 k3 v3
  • getrange <key><起始位置><结束位置>: 获得值的范围,类似java中的substring,前包,后包
# 获取name的第0到第3个字符
getrange name 0 3
  • setrange <key><起始位置><value>: 用复写所存储的字符串值,从<起始位置>开始(索引从0开始)
# 将name的第1个字符设置为abc
setrange name 1 abc
  • setex <key><过期时间><value>: 设置键值的同时,设置过期时间,单位秒
# 设置name 5秒之后过期
setex name 5 jack
  • getset <key><value>: 以新换旧,设置新值同时获取旧值
# 获取name的值,同时将name设置为jack
getset name jack

3.数据结构

String的数据结构为简单的动态字符串,是可以修改的字符串,内部结构实现上类似于Java的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值