redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构
redis的数据结构
- value的数据结构:
- 字符串类型 string
- 哈希类型 hash : map格式
- 列表类型 list : linkedlist格式。支持重复元素
- 集合类型 set : 不允许重复元素 HashSet格式
- 有序集合类型 sortedset:不允许重复元素,且元素有顺序
存储 获取 删除 String set key value get key del key hash hset key field value hget key field / hgetall key hdel key field list lpush\rpush key value lrange key start end lpop\rpop key set sadd key value smember key srem key value sortset zadd key score value zrange key start end [wirthscores] zrem key value
说明【表格装不下了,楞跻也不美观,所以在这进行说明 ≡(▔﹏▔)≡】
字符串类型
存储:
设置指定的值:set key value
设置指定key的值,并将key的过期时间设为seconds秒: setex key seconds value
例如:
setex city 10 Beijing
只有key不存在时设置key 的值:setnx key value
获取: get key
删除一个或多个: del key [key …]
哈希类型:
类似Java的Map, field相当于Map的key,value相当于Map的value.
- 存储: hset key field value
- 获取:
- hget key field: 获取指定的field对应的值
- hkeys key: 获取哈希表中所有字段
- hvals key: 获取哈希表中所有值
- hgetall key:获取所有的field和value
- 删除一个或多个: hdel key field [field…]
列表类型:
- 添加:
lpush key value [value…] : 将元素加入列表左边
rpush key value [value…] :将元素加入列表右边
- 获取:
- lrange key start end :范围获取 【start , end 】索引起始为0
- llen key :获取列表长度
- 删除:
- lpop key: 删除列表最左边的元素,并将元素返回
- rpop key: 删除列表最右边的元素,并将元素返回
- 添加:
集合类型:
存储:sadd key value [value …]
获取:
- smembers key:获取set集合中所有元素
- scard key:获取set集合成员数
删除:srem key value [value …]:删除set集合中的一个或者多个元素
其他:
sinter key [key …]:返回给定所有集合的交集
例如:
sinter city1 city2 city3
sunion key [key…]:返回给定所有集合的并集
sdiff key [key…]:返回给定所有集合的差集
有序集合类型sortedset:
不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
存储:
zadd key score value [score value …]向有序集合中添加一个或多个成员,或更新已存在成员的分数
zincrby key increment member有序集合中对指定成员的分数加上增量increment
例如:
zincrby names 20 zhangsan
获取:zrange key start end [withscores]
删除:zrem key value [value…]
通用命令
- keys parttern : 查询所有符合给定模式(pattern)的key
- type key : 获取键对应的value的类型
- del key [key…]:删除指定的key value
- exists key:检查给定的key是否存在
- ttl key [key…]:返回给定的key的剩余生存时间,以秒为单位。

更多命令可以参考redis中文网
__END__