Redis数据库
SQL数据库缺陷
常见NoSQL数据库
Redis特点
速度极快
Redis的所有数据都是存放在内存中,这是Redis 速度快的最主要原因
Redis是用C语言实现的,一般来说C语言实现的程序"距离"操作系统更近,执行速度相对会更快Redis使用了单线程架构,预防了多线程可能产生的线程切换和竞争问题
数据类型丰富
与很多键值对数据库不同的是,Redis中的值不仅可以是字符串,而且还可以是具体的数据结构,它主要提供了5种数据结构:字符串、哈希、列表、集合、有序集合。这样不仅能便于在许多应用场景的开发,同时也能够提高开发效率。
简单稳定
- Redis的源码很少
- Redis 使用单线程模型,这样不仅使得Redis服务端处理模型变得简单,而且也使得客户端开发变得简单
- Redis不需要依赖于操作系统中的类库,Redis自己实现了事件处理的相关功能,应用更加稳定支持持久化
- 通常看,将数据放在内存中是不安全的,一旦发生断电或者机器故障,重要的数据可能就会丢失,因此Redis,提供了两种持久化方式:RDB和AOF,即可以用两种策略将内存的数据保存到硬盘中,这样就保证了数据的可持久性。
主从复制
Redis提供了复制功能,实现了多个相同数据的Redis副本
Redis单进程单线程模型
Redis存取图片
思路:将图片转换成Base64,再以字符串形式存储入Redis数据库