redis中 string类型的操作

来源:互联网 发布:类似eve的网络手游 编辑:程序博客网 时间:2024/04/28 01:25

String介绍

Redis中 String类型是二进制安全的,可以把图片和视频文件保存到String中,定义如下:

struct sdshdr{
    long len;
    long free;
    char buf[];
}
关于string类型的底层原理:http://blog.csdn.net/shamohua/article/details/7029869
buf数组: 字符串的实体,保存字符串的内容
len字段:记录buf数组大小
free字段:记录buf数组还有多少可用空间
因为有len和free字段记录字符串信息,所以不必使用一般的nil字符作为结束
,从而实现二进制安全,为了提高网站的运行速度,可以使用String类型缓存一些静态文件,
如图片文件,css文件等.

String类型的相关命令

set key value   设置key对应String类型的值,返回1表示成功,返回0表示失败
setnx key value  
如果key不存在,设置key对应String类型的值,如果key已经存在,在返回0
get key
获取key对应的String值,如果key不存在返回nil
getset key value
先获取key的值,再设置key的值,如果key不存在返回nil

mget key1 key..keyN
一次获取多个key的值,如果对应key不存在,则对应返回nil
mset key1 value1...keyN valueN
一次设置多个key的值,成功返回1,表示所有的值都设置;失败返回0 表示没有
任何值被设置
msetnx key1 value1...keyN valueN
一次设置多个key的值,但是不会覆盖已经存在的key
incr key
向key对应的值加1,并返回新的值,注意incr一个不是int的value会返回错误,
incr一个不存在的key,则设置key值为1
decr key
向key对应的值做减1,decr一个不存在key,则设置key值为-1
incrby key integer
向key对应的值加上一个指定整数integer,key不存在时会设置key,并认为
原来的value是0
decrby key integer
向key对应的值减减去一个指定整数integer,key不存在时会设置key,并认为原来的value是0,
其实incrby 一个负值可以达到一样的效果,这么写 只是为了增加可读性
0 0
原创粉丝点击