redis是key-value的数据,所以每个数据都是一个键值对。

键的类型:字符串

值的类型分为五种:字符串string、哈希hash、列表list、集合set、有序集合zset

redis命令: http://redis.cn/commands.html

 

一、string类型:

  string类型,最大可以存储512MB的数据,是二进制安全的,即可以存储任何数据,如数字、图片、序列化对象等。

  1.设置

    1).设置键值:set key value

      示例: set name "jerry" 或者 set name jerry

    2).设置键值及过期时间,以秒为单位: setex key seconds value

    3).设置多个键值: mset key value [key value.........]

  2.获取

    1).根据键获取值,如果键不存在则返回null:get key

    2).根据多个键获取多个值:mget key [key......]

  3.运算

    要求:值是字符串类型的数字

    1).将key对应的值加1:incr key,返回加后的值

    2).将key对应的值减1:decr key,返回减后的值

    3).将key对应的值加整数:incrby key intnum,返回加后的值

    4).将key对应的值减整数: decrby key intnum,返回减后的值

  4.其它

    1).追加值:append key value,返回长度

    2).获取值长度:strlen key

二、key键操作:

  1).查找键,支持正规:keys pattern

    示例:keys *

  2).判断键是否存在:存在返回1,不存在返回0

    示例:exists 键

  3).查看键对应的value的类型:type 键

  4).删除键,可以删除多个键:del 键 [键..........]

  5).设置过期时间,以秒为单位: expire key seconds

  6.查看有效剩余时间,以秒为单位:ttl 键

三、hash类型

  hash类型的值:用于存储对象

  如:{"name": "jerry", "age":18}

  1.设置

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

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

      示例: hmset userinfo name tom age 18

  2.获取

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

      示例: hget userinfo age

    b、获取一个属性的值:hmget key field [ field...........]

      示例:hget userinfo age name

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

      示例:hgetall userinfo

    d.获取所有属性:hkeys key

      示例:hkeys userinfo

    e.获取所有值: hvals key

      示例:hvals userinfo

    f.返回包含键值对的个数:hlen key

      示例:hlen userinfo

  3.其它

    a.判断某属性是否存在,存在返回1,不存在返回0:hexists key field

      示例: hexists userinfo age

    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 原来的元素 新的元素

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

      注意:index 从0开始,可以为负数。

  2.获取

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

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

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

  3.其它

    a.剪切列表,保留剪切,移除未剪切的元素:ltrim key start end

    b.返回存储在key里的list的元素个数:llen key

    c.返回列表中索引对应的值

五、set类型:

  set类型:无序集合,元素类型为string类型,元素不重复。

  1.设置

    添加元素:sadd key member [member..........]

  2.获取

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

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

  3.其它

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

      示例: sinter s1 s2

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

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

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

六、zset类型:

  zset类型:有序集合,元素类型为string类型,元素不重复。每个元素都会关联一个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 min max

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