默认redis中存在16个库。
select n。选中库 n=0~15
flushdb ===清空当前库的内容
flushall ====清空所有库的内容
set key value
keys *: 查看当前库中所有的key.
del key key key: 删除指定的key.
exists key: 判断指定的key是否存在。
expire key seconds: 设置指定的key的过期时间 单位秒
ttl key: 【ttl time to live】查看当前key的有效时间。-1 表示永不过期。
redis中存放的数据类型非常多,而我们使用最多的: ①字符串类型,②Hash类型,③List队列类型, ④Set集合类型,⑤SortSet有序集合类型。
redis存储数据的格式: key--value格式。 这里的key都是string类型,而我们说的redis支持的类型。指的是value的数据类型。存放的大小512M.
字符串类型相关的命令 :
set key value: 存储字符串类型的value.
get key: 根据key获取对应的value字符串值。
mset key value key value ...: 存储多个字符串类型的value
mget key key key...:获取多个key对应的value字符串值
setnx key value: 如果存在指定key,则不存入,如果不存在则存入。
incr key: 对指定的key的value值进行递增。key对应的value必须为整型字符串
decr key: 对指定的key的value值进行递减。
incrby key number: 按照number值进行递增decrby key number: 为指定的key递减相应的值
它的value就是一个hash类型,而hash类型的结构key value形式。一般用于存放对象数据。
hset key field value [field value]: 将哈希表 key 中的字段 field 的值设为 value
它的value是一个List数据类型,value可以是多个,而且有序,可以重复。
lpush key element [element...]: 从左边往列表中添加一个或多个值
Lindex key index: 获取列表中指定下标的元素。
lrange key start end: 从左边获取一定范围的元素。第一个为0 最后-1
lpop key: 移除左边第一个元素
lset key index element: 替换指定位置的元素内容
它和list类型差不多,只是它的值不允许重复,而且是无序。
sadd key element[element....]: 在集合中添加一个或多个值
smembers key: 获取集合中所有的元素。srandmember key[number]:随机获取集合中一个或多个元素
sinter key1 key2: 返回给定所有集合的交集
sdiff key1 key2: 返回给定所有集合的差集spop key: 随机移除一个或多个元素
它和set比较相似,它在添加元素时,指定了分数值,按照分数排序。排行榜。
zadd key score element [score element ...]:添加有序集合元素
zrange key start end [withscopes]: 从小到大的形式获取集合中的元素
zrevrange key start end [withscopes]: 从大到小的形式获取集合中的元素
zrem k1 element [element]: 移除集合中一个或多个元素
1、热点数据的缓存: 减少对数据库的访问频率和减轻数据库的压力,提高应用程序效率。
2. 限时业务的运用: 秒杀 存储登录者用户信息 存储短信验证码。
3. 计数器相关问题: 点赞数 收藏数 关注数 播放量。
4. 排行榜相关问题: 比如销售量,观看量 sort set 。
5. 分布式锁: ---同步锁: synchronized自动锁,lock手动锁
6. 限量秒杀: ---decr key: