Redis入门第四讲——讲一讲Redis五大数据类型中的string(字符串)
Redis五大数据类型介绍
Redis是一种高级的key-value的存储系统,目前为止Redis共支持五大数据类型。这里我有一点需要特别说明,那就是这五大数据类型其实指的是键值对中值(value)的数据类型,因此也可以说value共支持五种数据类型。
而关于key的定义,需要大家注意以下几点:
- key不要太长,最好不要超过1024个字节,要是超过了的话,不仅会消耗内存还会降低查找效率;
- key不要太短,如果太短会降低key的可读性;
- 在项目开发中,key最好要有一个统一的命名规范。
string(字符串)
概述
字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。在Redis中字符串类型的value最多可以容纳的数据长度是512M。
常用命令
赋值
set key value
设定key持有指定的字符串value,若该key存在则进行覆盖操作,并且总是返回OK。例如,
取值
get key
获取key的value。如果与该key关联的value不是string类型,那么Redis将返回错误信息,因为get命令只能用于获取string类型的value;如果该key不存在,那么返回nil。例如,
getset key value
先获取该key的值,然后再设置该key的值。例如,
删除
del key
删除指定key。例如,
数值增减
incr key
将指定key的value的值递增1。如果该key不存在,那么其初始值则为0,并且在incr之后其值将变为1;如果value的值不能转成整型,如hello
,那么该操作将执行失败并返回相应的错误信息。
decr key
将指定key的value的值递减1。如果该key不存在,那么其初始值则为0,并且在decr之后其值将变为-1;如果value的值不能转成整型,如hello
,那么该操作将执行失败并返回相应的错误信息。
其他
incrby key increment
将指定key的value的值增加increment。如果该key不存在,那么其初始值则为0,并且在incrby之后,该值将变为increment;如果value的值不能转成整型,如hello
,那么该操作将执行失败并返回相应的错误信息。
decrby key decrement
将指定key的value的值减少decrement。如果该key不存在,那么其初始值则为0,并且在decrby之后,该值将变为-decrement。如果value的值不能转成整型,如hello
,那么该操作将执行失败并返回相应的错误信息。
append key value
拼接字符串。如果该key存在,那么则在原有的value后追加该值;如果该key不存在,那么则重新创建一个key/value对。