首页 > 代码库 > 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 类型、方法