Redis 是一个使用 C 语言开发的高速缓存数据库。
Redis 使用场景:
记录帖子点赞数、点击数、评论数;
缓存近期热帖;
缓存文章详情信息;
记录用户会话信息。
Redis 支持的数据类型:
string(字符串)、list(列表)、hash(字典)、set(集 合)、zset(有序集合)。
Redis命令
(1)对key的操作。
keys * :查询所有的key del k1 k2...:删除指定的key expire k time :为指定的key设置过期时间 ttl k: 查询k的剩余时间 -1 表示该key没有过期时间 -2没有指定的key
(2) 对数据库的操作 默认有16个数据库
select index:选择数据库 flushdb:清空当前所在的库 flushall:清空所有的库 只有交付客户的时候才会把测试数据清空。
String
set key value: 设置key和value.
get key:获取指定key的value.
mset key value key value key value...: 可以同时设置多个key和value值。
mget key key key...:获取指定key 的value值。
setnx key value: 如果设置的key已经存在则不设置返回0,如果设置的key不存在则把该key和value放入到redis中返回1。
incr key: 递增 针对的数据值必须为数字 应用:点赞 收藏。
decr key: 递减 针对的数据值必须为数字 应用:点赞 收藏。
list
1. lpush key list: 存放list数据类型。
2. lpop key:获取最左边的元素 并从列表中移除该元素。
3. lrange key start end: 获取在指定范围的元素。
hash (适合存放java对象 )
hset k field value 存放列表数据类型。
hget k field:根据指定的key获取指定field对于的value值。
hgetall k: 获取k对于的map数据。
hdel k field field:删除指定k对应的field内容。
hkeys k: 获取所有的field
HVALS k: 获取所有的value
set
sadd k value value value :这些value不允许重复
smembers k :获取所有的成员
spop k: 移除并返回集合中的一个随机元素。
SINTER k3 k4 : 求k3和k4的交集。