目录
一、redis中的常见数据结构
Redis共有5种常见数据结构,分别字符串(STRING)、列表(LIST)、集合(SET)、散列(HASH)、有序集合(ZSET)。
本文这里主要介绍字符串的常见操作
二、redis中字符串(String)介绍
String 是Red设置键值对is最基本的数据类型,和Memcached一样,一个key对应一个value
String 类型是二进制安全的,意味着Redis的String 可以包含任何数据,比如jpg图片,或者序列化的对象
一个Redis中字符串value最多可以是512MB
三、常见命令
命令 | 描述 |
---|---|
set <key> <value> | 设置键值对,成功返回1,失败返回0,key值已经存在则覆盖原值 |
get <key> | 根据key返回对应的value |
setnx <key> <value> | 只有key 不存在时,设置key的值,key值存在则无法设置 |
append <key> <value> | 给指定的key后面追加<value> 并返回总长度 |
strlen <key> | 获取key对应的value的长度 |
incr <key> | 将key中储存则数字值增1,只能对数字值操作,如果为空,新值为1 |
decr <key> | 将key中储存的数字值减1 |
incrby/decrby <key> <步长> | 将key中储存的数字值增减。自定义步长 |
mset <key><value>.. | 可以同时设置多组键值对 |
mget <key>... | 可以同时一个或多个key的value值 |
msetnx <key1> <value1> <key2><value2>.... | 同时设置多组键值对 |
mget <k1> <k2> ... | 可以获取1个或多个键值对 |
msetnx <key1> <value1> <key2> <value2>.... | 同时设置多组键值对,具有原子性 |
getrange <key> <起始位置> <结束位置> | 获取值的范围,类似java中的subString,前包,后包,下标从0开始 |
setrange <key> <起始位置> <value> | 用value 覆写key中所储存的字符串的值,从起始位置索引覆写 |
setex <key> <过期时间> <value> | 设置键值对的同时,设置过期时间,单位秒 |
四、示例
set命令与get命令
set ,get根据key获取value
并且set可以覆盖
setnx <key> <value>
只有key 不存在时,设置key的值,key值存在则无法设置,解决set覆盖
这里对k1进行setnx,由于k1存在就返回0表示设置失败,对k2进行setnx,由于k2不存在返回1表示设置成功
append <key> <value>
给指定的key后面追加 并返回总长度
strlen <key>
获取值的长度
incr <key>
将key中储存则数字值增1,只能对数字值操作,如果为空,新值为1
decr <key>
将key中储存的数字值减1
incrby/decrby <key> <步长>
将key中储存的数字值增减。自定义步长
mset <key1><value1> <key1><value2>..
同时设置多组键值对
mget <k1> <k2> ...
可以获取1个或多个键值对
msetnx <key1> <value1> <key2> <value2>....
同时设置多组键值对,当且仅当所有给定的key都不存在时,才能设置成功
原子性,有一个失败,则都失败
getrange <key> <起始位置> <结束位置>
获取值的范围,类似java中的subString,前包,后包,下标从0开始
setrange <key> <起始位置> <value>
用value 覆写key中所储存的字符串的值,从起始位置索引覆写
setex <key> <过期时间> <value>
设置键值对的同时,设置过期时间,单位秒
这里设置k10的过期时间为10秒
这里的ttl方法是用来查看过期时间的,返回-1代表永不过期,-2代表已经过期,具体该方法信息,以及其他的键值对的常用命令解释在我另一篇博客中有详细介绍 :
redis 中键值对的常用命令 (附有示例)_裴南苇_的博客-CSDN博客
getset <key> <value>
以新值换旧值,并返回旧值
好了,这次的文章就到这里,喜欢的同学可以点赞收藏,遇到问题,可以评论,或者留言,我一定会第一时间给到回馈,感谢观看!!
注:本文为本人学习时心得分享,有讲错或者需要改正的地方,请指正,我会虚心接受