您的当前位置:首页正文

Redis常用命令和应用场景

2024-11-07 来源:个人技术集锦


1.redis中常用的命令

1.1 关于数据库的命令

默认redis中存在16个库。

select n。选中库 n=0~15

flushdb ===清空当前库的内容

flushall ====清空所有库的内容

set key value

1.2 关于key的命令

keys *: 查看当前库中所有的key.

del key key key: 删除指定的key.

exists key: 判断指定的key是否存在。

expire key seconds: 设置指定的key的过期时间 单位秒

ttl key: 【ttl time to live】查看当前key的有效时间。-1 表示永不过期。

1.3redis支持的数据类型中常用命令

redis中存放的数据类型非常多,而我们使用最多的: ①字符串类型,②Hash类型,③List队列类型, ④Set集合类型,⑤SortSet有序集合类型。

1.3.1支持字符串类型  

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递减相应的值

1.3.2hash数据类型  

 它的value就是一个hash类型,而hash类型的结构key value形式。一般用于存放对象数据。

hset key field value [field value]:  将哈希表 key 中的字段 field 的值设为 value 

1.3.3List<列表>数据类型

它的value是一个List数据类型,value可以是多个,而且有序,可以重复。

 lpush key element [element...]: 从左边往列表中添加一个或多个值
Lindex key index: 获取列表中指定下标的元素。
lrange key start end: 从左边获取一定范围的元素。第一个为0  最后-1
lpop key: 移除左边第一个元素
lset key index element: 替换指定位置的元素内容

1.3.4Set 数据类型

它和list类型差不多,只是它的值不允许重复,而且是无序。

sadd key element[element....]: 在集合中添加一个或多个值
smembers key: 获取集合中所有的元素。

srandmember key[number]:随机获取集合中一个或多个元素
sinter key1 key2:     返回给定所有集合的交集
sdiff key1 key2: 返回给定所有集合的差集 

spop key: 随机移除一个或多个元素

1.3.5 sort set 数据类型

它和set比较相似,它在添加元素时,指定了分数值,按照分数排序。排行榜。

 zadd key score element [score element ...]:添加有序集合元素
 zrange key start end [withscopes]: 从小到大的形式获取集合中的元素
 zrevrange key start end [withscopes]: 从大到小的形式获取集合中的元素
 zrem k1 element [element]: 移除集合中一个或多个元素 

2. redis实际开发的应用场景

1、热点数据的缓存: 减少对数据库的访问频率和减轻数据库的压力,提高应用程序效率。
2. 限时业务的运用: 秒杀  存储登录者用户信息  存储短信验证码。
3. 计数器相关问题: 点赞数 收藏数 关注数 播放量。
4. 排行榜相关问题: 比如销售量,观看量 sort set 。
5. 分布式锁: ---同步锁: synchronized自动锁,lock手动锁
6. 限量秒杀: ---decr key:

显示全文