Redis(一)–Redis初次认识
一、redis 简介:
简单来说redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在**内存中**的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。
Redis是什么?
Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为数据结构服务器。
Redis 与其他 key - value 缓存产品有以下三个特点:
- (1)Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- (2)Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。
- (3)Redis 支持数据的备份,即 master-slave 模式的数据备份。
二、特性:
1. 速度快:
主要的原因是因为:内存。 数据存储在内存中。
2. 持久化(断电不丢数据):
Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上。
3. 多种数据结构:
4. 支持多种客户端语言:
5. 功能丰富:
发布订阅,事务,Lus脚本,pipeline
6. “简单”:
不依赖外部库
单线程模型(无论是客户端还是服务端都是相对简单的)
7. 主从复制:
8. 高可用、分布式:
三、redis典型使用场景:
1.缓存系统:
首先从缓存找要取出的数据,如果有,就直接从缓存中拿来返回;如果没有就从storage取出,返回,并将数据放到cache中。
2.计数器:
微博的评论数和转发数。
3.消息队列系统(中间件):
4.排行榜:
5.社交网络:
粉丝数等。
6.实时系统(垃圾邮件处理系统):
四、Redis 安装:
1.可执行文件说明:
- redis-server : Redis服务器
- redis-cli: Redis命令行客户端
- redis-benchmak:Redis的性能测试工具
- redis-check-aof:对AOF进行修复
- redis-check-dump:RDB文件检查工具
- redis-sentinel:Sentinel服务器(2.8以后)
2. 三种启动方法:
最简启动: 直接执行 redis-server
动态参数启动:执行 redis-server --port 6380
配置文件启动:将启动的参数写到配置文件中
注意:生产环境选择配置启动
3. redis常用配置:
默认是有65个配置。
daemonize: 是否是守护线程
port:redis对外端口号
logfile:redis系统日志
dir:redis工作目录
五、Redis的优势:
- (1)性能极高 – Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s 。
- (2)丰富的数据类型 – Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及OrderedSets 数据类型操作。
- (3)原子 – Redis的所有操作都是原子性的(这一点和事物要区别(redis是部分支持事物)),意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过 MULTI 和EXEC指令包起来。
- (4)丰富的特性 – Redis 还支持 publish/subscribe, 通知, key 过期等等特性。
六、Redis能干嘛?
- 内存存储和持久化:redis支持异步,将内存中的数据写入到磁盘中,同时不影响继续服务
- 取最新N个数据的操作:如:可以将最新的10条评论的ID放在redis的List集合中
- 模拟类似于HttpSession这种需要设定过期时间的功能
- 发布订阅,消息系统
- 定时器、计数器
特别感谢:
参考至:
https://blog.csdn.net/xiaojie_570/article/details/85771371