redis数据类型之String
一、简介
Redis中最基本的数据类型,它是二进制安全的,可以包含任意数据类型,如图片等。Redis中String类型的数据上限的512M。下面是常用的String操作命令:
命令 |
说明 |
set |
设置字符串的值 |
get |
获取字符串的值,如果 key 不存在时,返回 nil |
del |
删除指定键 |
append |
取出对应键的值进行追加,如果键不存在,则会新建一个并且值追加进去 |
strlen |
返回键对应的值的长度 |
incr |
每次递增1 |
decr |
每次递减1 |
incrby |
每次递增n |
decrby |
每次递减n |
incrbyfloat |
每次递增浮点数大小 |
getrange |
获取执行下标范围的字符串,类似strstring()截取字符串 |
setrange |
设置指定下标的字符串进行替换 |
setex(set with expire)键秒值 |
设置值同时设置过期时间 |
setnx(set if not exist) |
只有键不存在的时候才设置值,否则设值失败 |
mset |
批量设置值 |
mget |
批量获取值 |
msetnx |
批量判断键是否存在并且设置值,如果其中有一个键已存在,所有操作都将失败 |
getset | 获取设置key的值并返回原来的旧值 |
下面我们通过一些示例详细说明上面命令的使用方法。
二、命令详解
【a】set/get/del/append/strlen
- set:设置字符串的值;
- get:获取字符串的值,如果 key 不存在时,返回 nil;
- del:删除指定key的键值对,删除成功返回1,删除失败返回0,如果key不存在说明删除失败,返回0;
- append:取出对应键的值进行追加,如果键不存在,则会新建一个并且值追加进去;
- strlen:返回键对应的值的长度;
【b】incr/decr/incrby/decrby/incrbyfloat
- 注意:这组命令只对数字类型的值有效,如果值么包含错误的类型,或字符串类型的值不能表示为数字,那么将会报错,因为字符串等不能进行递增递减操作
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 incr 操作
- 一定要是数字才能进行加减
- incr:每次递增1;
- decr:每次递减1;
- incrby:每次递增n;
- decrby:每次递减n;
- incrbyfloat:每次递增n浮点数大小;
【c】getrange/setrange
- getrange:获取执行下标范围的字符串,类似strstring()截取字符串,下标从0开始,-1表示最后一个;
- setrange:设置指定下标的字符串进行替换;
【d】setex(set with expire)键秒值/setnx(set if not exist)
- setex(set with expire)键秒值:设置值同时设置过期时间;
- setnx(set if not exist):只有键不存在的时候才设置值,否则设值失败;
【e】mset/mget/msetnx
- mset:批量设置值;
- mget:批量获取值;
- msetnx:批量判断键是否存在并且设置值,如果其中有一个键已存在,所有操作都将失败;
【f】getset
- getset:获取设置key的值并返回原来的旧值
三、总结
以上就是关于redis中String字符串数据类型常用的详细使用说明,小伙伴们千万记得一定要自己手敲一哈哦,更多命令学习可以参考中文官网http://www.redis.cn/commands.html:进行学习。