Redis -- 数据类型小结

redis key 的命名规则: 对象类型:对象id:对象属性  (hset car:1: price 500、hset car:1: name:tom)

一、redis 数据类型:

  1. 字符串类型:  key  value ——(set a 1  /  get a ) 一个key 对应一个 value  相同覆盖

    递增数字: incr  key (这个key的值必须是 数字类型)  可以利用这个特点 来实现 类似 关系数据库表中的 序列

  2. 散列类型:key field value --  hset car price 500/ hget car price  类似 实现 对象  car:{price:500,name:tom}

    如  hset car price 500  -- 一个key 有多个  field-value对 (hmset field value field value ...)

       hset car name tom

  

  3.列表类型:key values  可以想列表左或者右添加,可以有相同元素,有顺序  类似于  list

    lpush/rpush  key value -- lpush a 1/rpush a 2

    lpop/rpop key 左或者右弹出一个value(移除列表value,返回弹出的值)

    实现 栈 :后入先出 (左边放入,左边弹出)lpush和lpop /  (右边放入,右边弹出)rpush和rpop

    实现 队列: 先入先出  (左边放入,右边弹出)lpush和rpop  / (右边放入,左边弹出)rpush和lpop  

    相关命令: 获取列表片段: lrange key start stop (下标从0开始,包括两端) 负数表示从右边开始计算

  4.集合类型:sadd key member  一个集合中不能有相同元素,没有顺序  类似于 set

    可以实现 集合的  并集、交集、差集、操作

  5.有序集合类型: 有顺序的 集合类型  可以实现自定义排序  

    zadd key score member....   

    > zadd chengji 89 tom 67 andy 50 jey
      (integer) 3
    > zrange chengji 0 -1 withscores  (-1表示最后一个元素)
      1) "jey"
      2) 50.0
      3) "andy"
      4) 67.0
      5) "tom"
      6) 89.0

  利用这个特点做排序: car 的列表
  按点击量排序: zadd cars.view 1 car:1 (key:点击量key,score:点击量,member:car对象) 每次点击,点击量+1
 

  

    

  

原文地址:https://www.cnblogs.com/GotoJava/p/6972707.html