Redis 简介与命令操作

  redis 是 key-value 的数据,所以每个数据都是一个键值对,键的类型是字符串;

值的类型分为五种:string、hash、list、set(集合)、zset(有序集合)。

  数据操作的全部命令:http://redis.cn/commands.html


一、String

  概述:String 是 redis 最基本的类型,最大能存储512MB的数据,String 类型是二进制安全的,

即可以存储任何数据、比如数字、图片、序列化对象等。

  1、设置

    a、设置键值:  set key value

    b、设置键值及过期时间,以秒为单位:  setex key 时间值 value

    c、设置多个键值:  mset key value [key value ……]

      示例:mset a 1 b 2

  2、获取

    a、根据键获取值,如果键不存在则返回 null:  get key

    b、根据多个键获取多个值:  mget key [key ……]

      示例:mget a b

  3、运算  要求:值是字符串类型的数字

    a、将 key 对应的值加1:  incr key

    b、将 key 对应的值减1:  decr key

    c、将 key 对应的值加整数:  incrby key 整数值

    d、将 key 对应的值减整数:  decrby key 整数值

  4、其它

    a、追加值:  append key value

    b、获取值长度:  strlen key

注意:只要涉及到 set 存的都是字符串


二、key

  1、查找键,参数支持正则:  keys pattern

    示例:keys *(查找所有)

  2、判断键是否存在,如果存在返回 1,不存在返回 0:  exists key

  3、查看键对应的 value 类型:  type key

  4、删除键和对应的值:  del key [key……]

  5、设置过期时间以秒为单位:  expire key 时间

  6、查看有效时间,以秒为单位:   ttl key(-1 表示没有设置过期时间)


三、hash

  概述:hash 用于存储对象 eg:{name:"tom",age:18}

  1、设置

    a、设置单个值:  hset key field value

      示例:hset p1 name tom,hset p1 age 18

    b、设置多个值:  hmset key field value [field value ……]

      示例:hmset p2 name tom age 18

  2、获取

    a、获取一个属性的值:  hget key field

    b、获取多个属性的值:  hmget key field [field ……]

    c、获取所有属性和值:  hgetall key

    d、获取所有的属性:  hkeys key

    e、获取所有的值:  hvals key

    f、返回包含属性的个数:  hlen key

  3、其它

    a、判断属性是否存在:  hexists key field(存在返回 1,不存在返回 0)

    b、删除属性和值:  hdel key field [field ……]

    c、返回值的字符串长度:  hstrlen key field


四、list

  概述:列表的元素类型为 string ,按照插入顺序排序,在列表的头部或尾部添加元素

  1、设置

    a、在头部插入:  lpush key value [value ……]

    b、在尾部插入:  rpush key value [value ……]

    c、在一个元素的前|后插入新元素:  linsert key before|after pivot value

      示例 :linsert s1 after 1 4

    d、设置指定索引的元素值:  lset key index value  

      注意:index 从0开始;索引值可以是负数,表示偏移量是从 list 的尾部开始,如 -1 表示最后一个元素

  2、获取

    a、移除并返回 key 对应的 list 的第一个元素:  lpop key

    b、移除并返回 key 对应的 list 的最后一个元素:  rpop key

    c、返回存储在 key 的列表中的指定范围的元素:  lrange key start end

      示例:lrange s1 0 2 / lrange s1 0 -1

      注意:start end 都是从 0 开始;偏移量可以是负数

  3、其它

    a、剪裁列表,改为原集合的一个子集:  ltrim key start end

      注意:start end 都是从 0 开始,偏移量可以是负数

    b、返回存储在 key 里的 list 的长度:  llen key

    c、返回列表中索引对应的值:  lindex key index


五、set

  概述:无序集合,元素类型为 string 类型,元素具有唯一性,不重复

  1、设置

    a、添加元素:  sadd key member [member ……]

  2、获取

    a、返回 key 集合中所有元素:  smembers key

    b、返回集合元素个数:  scard key

  3、其它

    a、求多个集合的交集:  sinter key [key ……]

    b、求多个集合的差集:  sdiff key [key ……]

    c、求多个集合的合集:  sunion key [key ……]

    d、判断元素是否在集合中:  sismember key member(存在返回 1,不存在返回 0)


六、zset

  概述:

    a、有序集合,元素类型为 string,元素具有唯一性,不能重复

    b、每个元素都会关联一个 double 类型的 score(表示权重),通过权重的大小排序,元素的 score 可以相同

  1、设置

    a、添加:  zadd key score member [score member ……]

  2、获取

    a、返回指定范围的元素:  zrange key start end

    b、返回元素个数:  zcard key

    c、返回有序集合 key 中,score 在 min 和 max 之间的元素的个数:  zcount key start end

    d、返回有序集合 key 中,成员 member 的 score 值:  zscore key member

(完结)

上一篇:windows下 go安装qt绑定


下一篇:[转帖]Linux中awk工具的使用