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