SpringBoot-整合Redis
Redis 概述什么是 RedisRedis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD 许可)高性能非关系型(NoSQL)的键值对数据库。
Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、散列表、集合、有序集合。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。
Redis 有哪些优缺点优点
读写性能优异, Redis 能读的速度是 110000 次 / s,写的速度是 81000 次 / s。
支持数据持久化,支持 AOF 和 RDB 两种持久化方式。
数据结构丰富,除了支持 string 类型的 value 外还支持 hash、set、zset、list 等数据结构。
支持主从复制,主机会自动 ...
Redis: 数据结构与模板类
1. Redis 有多少种数据结构?主要有 5 种 Redis 对象,分别是 String、List、Hash、Set、Zset,这里的对象都指的是 Value 部分。底层实现依托于 sds、ziplist、skiplist、dict 等更基础的数据结构。
2. String(字符串)2.1 简单介绍字符串类型是 Redis 最基础的数据结构,字符串类型可以是JSON、XML甚至是二进制的图片等数据,但是最大值不能超过512MB。在 Redis 中,String 是可以修改的,称为动态字符串(Simple Dynamic String简称SDS),说是字符串但它的内部结构更像是一个ArrayList,内部维护着一个字节数组,并且在其内部预分配了一定的空间,以减少内存的频繁分配。Redis的内存分配机制是这样:
当字符串的长度小于 1MB 时,每次扩容都是加倍现有的空间。
如果字符串长度超过 1MB 时,每次扩容时只会扩展 1MB 的空间。
这样既保证了内存空间够用,还不至于造成内存的浪费,字符串最大长度为**512MB**。分析一下 SDS 的数据结构:
123456struc ...