Redis入门
Redis 的特性:
- 更丰富的数据类型
- 进程内与跨进程;单机与分布式
- 功能丰富:持久化机制、过期策略
- 支持多种编程语言
- 高可用,集群
基础操作
- 默认有 16 个库(0-15),可以在配置文件中修改,默认使用第一个 db0。(因为没有完全隔离,不像数据库的 database,不适合把不同的库分配给不同的业务
使用。)
databases 16
- 切换数据库
select 0
- 清空当前数据库
flushdb
- 清空所有数据库
flushall
键的基本操作。命令参考
Redis 是字典结构的存储方式,采用 key-value 存储。key 和 value 的最大长度限制是 512M(来自官网 )。
存值
set name 2673
取值
get name
查看所有键
keys *
获取键总数
dbsize
查看键是否存在
exists name
删除键
del name jack
重命名键
rename name xxx
查看类型
type name
Rsedis 基本数据类型
Redis 一共有几种数据类型?(注意是数据类型不是数据结构)官网
String、Hash、Set、List、Zset、Hyperloglog、Geo、Streams
- String 字符串(存储类型:可以用来存储字符串、整数、浮点数。)
- Hash 哈希 (存储类型:包含键值对的无序散列表。value 只能是字符串,不能嵌套其他类型。)
- List 列表 (存储类型:存储有序的字符串(从左到右),元素可以重复。可以充当队列和栈的角色。)
队列:先进先出:rpush blpop,左头右尾,右边进入队列,左边出队列。
栈:先进后出:rpush brpop
- Set 集合(存储类型:String 类型的无序集合,最大存储数量 2^32-1(40 亿左右)。)
- ZStet 有序集合(存储类型:sorted set,有序的 set,每个元素有个 score。)
应用场景总结
缓存——提升热点数据的访问速度
共享数据——数据的存储和共享的问题
全局 ID —— 分布式全局 ID 的生成方案(分库分表)
分布式锁——进程间共享数据的原子操作保证
在线用户统计和计数
队列、栈——跨进程的队列/栈
消息队列——异步解耦的消息机制
服务注册与发现 —— RPC 通信机制的服务协调中心(Dubbo 支持 Redis)
购物车
新浪/Twitter 用户消息时间线
抽奖逻辑(礼物、转发)
点赞、签到、打卡
商品标签
用户(商品)关注(推荐)模型
电商产品筛选
排行榜