二十二 Redis
1 Redis 作用
Redis,全称Remote Dictionary Server,即远程字典服务,是一个开源的使用ANSI C语言编写的、支持网络的、基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它主要用于缓存数据的计算结果、页面内容、数据库查询结果等,以提高数据访问速度和响应速度,从而提升系统性能和用户体验。
Redis具有多种应用场景,包括但不限于:
缓存:通过缓存热点数据,减少数据库查询次数,提高访问速度。
消息队列:实现异步处理和解耦,提高系统的可扩展性和灵活性。
分布式锁:作为分布式锁的存储层,通过缓存锁信息和锁状态,实现分布式锁和并发控制。
计数器:通过原子操作实现计数器的自增和自减,支持高并发的计数操作,可用于实现各种排行榜和统计功能。
Redis支持多种数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set),这使得Redis可以根据不同的场景选择合适的数据类型来实现各种功能。此外,Redis还提供持久化服务,使得数据在重启或崩溃后不会丢失,进一步增强了其作为缓存和数据库使用的可靠性。
2 Redis 的数据类型
1.String(字符串):这是 Redis 最基本的数据类型,一个 key 对应一个 value。Redis 的字符串是二进制安全的,这意味着你可以在一个字符串中存储任何数据,比如 JPEG 图片或者序列化的对象。
2.Hash(哈希):Redis hash 是一个键值对集合。Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
3.List(列表):Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
4.Set(集合):Redis 的集合是 string 类型元素的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
5.Zset(有序集合):Redis 有序集合和集合一样也是