首页 > 代码库 > redis 类型、方法
redis 类型、方法
string类型
形式:key=>value;
说明:最简单的类型;一个key对应一个value,value保存的类型是二进制安全的,string可以包含任何数据,比如图片或者序列换的对象
方法:
set:设置key对应的值为string类型的value;如果存在则修改,否则添加;返回ok
set name aaa
setnx:设置key对应的值为string类型的value;如果存在,失败返回0,不存在则添加,成功返回value;nx为not exists 的意思
setnx name aaa
setex:设置key对应的值为string类型的value;并指定此建对应的有效期;成功返回ok;
setex name 10 aaa //设置名字为aaa并且有效期有10秒
setrange:设置指定key的value值的子字符串;替换
setrange name 2 aaa //设置name从第二个下标开始替换后面的三个子字符串为aaa;返回修改后的字符串长度
mset:一次性设置多个key的值,成功返回ok表示所有值都设置了,失败返回0表示没有任何值被设置;
mset name1 aaa1 name2 aaa2 //设置name1为aaa1,name2为aaa2
msetnx:一次性设置多个key的值,成功返回OK表示所有值被设置了,失败返回0表示没有值被设置了;不会覆盖已经存在的key
msetnx name4 aaa4 name5 aaa5 //设置name4为aaa4,name5为aaa5 如果其中一个存在则返回0,不改变任何;成功返回1
getset:设置key的值,并且返回一个key的旧值,旧值不存在则返回空,新增一个新值;
getset name5 aaa5 //设置name5的值为aaa5 并返回name5的旧值,不存在则返回nil
getrange:获取key对应的string的子字符串;有则返回子字符串,没有则返回空字符串
getrange name5 0 2 //返回key为name5的字符串中下表0到2的子字符串
get:获取key对应的value值
get name5
mget:批量获取值
mget name1 name2 name3 name4 //返回name1,name2,name3,name4的值,不存在则返回nil
incr:对key的值进行递增操作,返回新的值
incr name6 //对name6的值进行递增,如果值为字符串则会报错,成功返回自增后的值
incrby:对key的值增加或减少指定值的操作
incrby name6 12 //对name6的值加12返回新值 incrby name6 -12 //对name6的值减12 返回新值
decr\decrby同上
append:给指定key的值追加value;返回新的字符串长度
append name5 bbb //给key为name5的值追加bbb
strlen:返回指定key的value长度
strlen name5 //返回name5的value长度
hashes类型
形式:key:field value field value
说明:string类型field和value的映射表,适合于存储对象,类似与表,ID可以连接在key后面;
方法:
hset:设置hash field为指定值,如果key不存在则创建,成功返回1,失败返回0
hset myhash field1 value1 field2 value2 //创建一个key为myhash的fied1为value1 field2为value2的hash类型数据
hget:获得指定key中指定属性的值
hget myhash field1 //获取myhash中属性field1的值
hsetnx:设置hash field为指定值,如果key不存在,则先创建,如果存在返回失败0
hsetnx myhash title aaa //添加myhash中title的值为aaa
hmset:批量设置hash中的过个field
hmset myhash field1 value1 field2 value2 field3 value3
redis 类型、方法