**Redis 字符串(String)**
字符串类型是Redis最基础的数据结构,字符串类型可以是JSON、XML甚至是二进制的图片等数据,但是最大值不能超过512MB。Redis 里的字符串是SDS简单动态字符串,会根据实际情况动态调整。
**字符串数据类型的应用场景:**
**1.1、缓存**
简单key-value存储:在Web服务中,使用MySQL作为数据库,Redis作为缓存。由于Redis具有支撑高并发的特性,通常能起到加速读写和降低后端压力的作用。Web端的大多数请求都是从Redis中获取的数据,如果Redis中没有需要的数据,则会从MySQL中去获取,并将获取到的数据写入Redis。
**1.2、分布式锁**
setnx key value,当key不存在时,将key 的值设为 value ,返回1;
若给定的 key 已经存在,则setnx不做任何动作,返回0。
当setnx返回1时,表示获取锁,做完操作以后del key,表示释放锁;如果setnx返回0表示获取锁失败,可以通过以上的思路来实现分布式锁的机制。
**1.3、计数器**
Redis中有一个字符串相关的命令incr key,incr命令将 key 中储存的数字值增一,返回结果分为以下三种情况:
值不是整数,返回错误
值是整数,返回自增后的结果
key不存在, key 的值会先被初始化为 0 ,返回1
比如文章的阅读量,视频的播放量等等都会使用redis来计数,每播放一次,对应的播放量就会加1,同时将这些数据异步存储到数据库中达到持久化的目的。
**1.4、共享Session**
在分布式系统中,用户的每次请求会访问到不同的服务器,这就会导致session不同步的问题,假如一个用来获取用户信息的请求落在A服务器上,获取到用户信息后存入session。下一个请求落在B服务器上,想要从session中获取用户信息就不能正常获取了,因为用户信息的session在服务器A上,为了解决这个问题,使用redis集中管理这些session,将session存入redis,使用的时候直接从redis中获取就可以了。
- Redis介绍
- String类型的应用场景
- Hash类型的应用场景
- List类型应用场景
- Set类型应用场景
- Zset类型应用场景
- Redis官网
- 安装Redis
- Redis配置文件详解
- 配置Redis开机启动
- Redis的命令行工具
- Redis的可视化管理软件
- 各开发语言对应的Redis库
- Server管理命令
- 通用命令
- String类型命令
- HASH类型命令
- LIST类型命令
- Set类型命令
- Sorted_Set类型命令
- ThinkPHP集成Redis
- SpringBoot集成Redis
- 实战篇:优惠券功能概述
- 实战篇:表单页面实现
- 实战篇:后端处理逻辑
- 实战篇:优惠券类逻辑
- 实战篇:优惠券列表
- 原理篇:Redis缓存雪崩
- 原理篇:Redis缓存击穿
- 原理篇:Redis缓存穿透
- 进阶篇:Redis的事务与持久化
- 进阶篇:Redis集群
- 进阶篇:Redis的发布订阅模式
- 进阶篇:Redis分布式锁
- 进阶篇:Redis分布式缓存
- 进阶篇:一致性哈希
- 进阶篇:Redis安全管理
- 进阶篇:Redis性能优化