redis的数据类型-Strings

来源:互联网 发布:ios云播软件 编辑:程序博客网 时间:2024/04/29 10:55
1、插入数据
127.0.0.1:6379> set name xrc
OK
2、得到数据
127.0.0.1:6379> get name
"xrc"
3、删除数据:成功返回1,失败返回0
127.0.0.1:6379> del name
(integer) 1
4、查看是否存在:存在返回1,不存在返回0
127.0.0.1:6379> exists name
(integer) 0

一、Strings类型
最简单的类型,一个Key对应一个Value,String类型是二进制安全的,redis的String可以包含任何数据,比如图片或序列化的对象,最大上限制为1GB

set 
设置key对应的值为string类型的value
例如:我们添加一个name=xrc的键值对
127.0.0.1:6379> set name xrc
OK

setnx
设置key对应的值为string类型的value,如是key存在返回0,不存在才设置值,并返回1
例如:再次设置name的值为scc会返回0
127.0.0.1:6379> setnx name scc
(integer) 0

setex
设置key对应的值为string类型的value,并指定此键值对应的有效期
例如:我们添加一个age=22的键值对,并指定有效期为10秒
127.0.0.1:6379> setex age 10 22
OK
127.0.0.1:6379> get age
"22"

10秒后GET会得到以下结果
127.0.0.1:6379> get age
(nil) 

setrange
设置指定key的值的子字符串
例如
127.0.0.1:6379> get email
"648195165@qq.com"
127.0.0.1:6379> setrange email 10 sina.com
(integer) 18
127.0.0.1:6379> get email
"648195165@sina.com"
其中10是指从下标10开始替换

mset
一次设置多个值,成功返回OK。表示都设置成功 ,失败返回0
127.0.0.1:6379> mset name xrc age 22
OK
127.0.0.1:6379> get name
"xrc"
127.0.0.1:6379> get age
"22"

msetnx
一次设置多个值,成功返回OK,失败返回0,但不会覆盖原有的值
127.0.0.1:6379> msetnx name scc age 22
(integer) 0

get
获取
例如:获取上面设置的name的值
127.0.0.1:6379> get name
"xrc"

getset
设置KEY的值 ,并返回旧的值,如果旧的值不存在返回nil
127.0.0.1:6379> getset name scc
"xrc"
127.0.0.1:6379> get name
"scc"

getrange
拿到一个KEY的子字符串
127.0.0.1:6379> get email
"648195165@qq.com"
127.0.0.1:6379> getrange email 0 8
"648195165"
127.0.0.1:6379> getrange email -6 -1
"qq.com"

mget
一次获得多个值 ,如KEY不存在则返回nil 
127.0.0.1:6379> mget name age aa
1) "scc"
2) "22"
3) (nil)

incr
对key的值做加加操作,并返回新的值。注意incr一个不是int的value会返回错误,incr一个不存在的key,则设置key为1
127.0.0.1:6379> get age
"22"
127.0.0.1:6379> incr age
(integer) 23
127.0.0.1:6379> get age
"23"

incrby
同incr类似,加指定值 ,key不存在时候会设置key,并认为原来的value是 0
127.0.0.1:6379> get age
"23"
127.0.0.1:6379> incrby age 5
(integer) 28
127.0.0.1:6379> get age
"28"

decr
对key的值做的是减减操作,decr一个不存在key,则设置key为-1
127.0.0.1:6379> get age
"28"
127.0.0.1:6379> decr age
(integer) 27
127.0.0.1:6379> get age
"27"

decrby
同decr类似,减指定值 ,key不存在时候会设置key,并认为原来的value是 0
127.0.0.1:6379> get age
"27"
127.0.0.1:6379> decrby age 5
(integer) 22
127.0.0.1:6379> get age
"22"
decrby完全是为了可读性,我们完全可以通过incrby一个负值来实现同样效果,反之一样

append
给指定key的字符串值追加value,返回新字符串值的长度。
127.0.0.1:6379> get name
"scc"
127.0.0.1:6379> append name ' is my wife'
(integer) 14
127.0.0.1:6379> get name
"scc is my wife"

strlen
取指定key的value值的长度
127.0.0.1:6379> get name
"scc is my wife"
127.0.0.1:6379> strlen name
(integer) 14
0 0