跳至主要內容

2.4 Redis数据类型_String 🎉

刘春龙...大约 2 分钟数据库redis

2.4 Redis数据类型_String 🎉

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

  • set

用于设置给定 key 的值。如果 key 已经存储其他值, set 就重写旧值,且无视类型。

set k1 v1
  • get

用于获取指定 key 的值。如果 key 不存在,返回 nil

get key1
  • append

将给定的value追加到key原值末尾。

append key1 value1   

提示

如果 key 已经存在并且是一个字符串, append 命令将 value 追加到 key 原来的值的末尾。

如果 key 不存在, append 就简单地将给定 key 设为 value ,就像执行 set key value 一样。

  • strlen

获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。

strlen key1
  • setex

给指定的 key 设置值及time 秒的过期时间。如果 key 已经存在, setex命令将会替换旧的值,并设置过期时间。

setex key1 10 value1
  • setnx (分布式锁的解决办法)

只有在key不存在时设置key的值

setnx key value
  • getrange

获取指定区间范围内的值,类似between........and 的关系

getrange k5 2 4   # 截取值得2-4位置的字符
  • setrange

获取指定区间范围内的值,类似between........and 的关系

setrange key1 1 xxx  # 在值得1位置后插入xxx
  • incr

将 key 中储存的数字值增一

incr key1

相关信息

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 incr 操作。

如字符串类型的值不能表示为数字、或者是其他类型,那么返回一个错误。

  • decr

将 key 中储存的数字值减一。

decr key1

相关信息

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 decr 操作。

如字符串类型的值不能表示为数字、或者是其他类型,那么返回一个错误。

  • incrby/decrby key step

将key存储的数字值按照step进行增减。

incrby key1 10

相关信息

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 incrby/decrby 命令。

如字符串类型的值不能表示为数字、或者是其他类型,那么返回一个错误。

  • mset

同时设置一个或多个 key-value

mset key1 value1 key2 value2
  • mget

返回所有(一个或多个)给定 key 的值。

mget  key1 key2
  • getset

将给定key值设为value,并返回key的旧值(old value),简单一句话(先get然后立即set)。

getset key1 wcc     #  value1
get key1          #  wcc 

使用场景

  • 计数器
  • 统计多单位的数量
  • 粉丝数
  • 象缓存存储
  • 分布式锁

value 除了是字符串以外还可以是数字。

上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7