Redis入门

Redis 的特性:

  1. 更丰富的数据类型
  2. 进程内与跨进程;单机与分布式
  3. 功能丰富:持久化机制、过期策略
  4. 支持多种编程语言
  5. 高可用,集群

基础操作

  • 默认有 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 用户消息时间线
抽奖逻辑(礼物、转发)
点赞、签到、打卡
商品标签
用户(商品)关注(推荐)模型
电商产品筛选
排行榜