一、是什么
- Redis:REmote DIctionary Server(远程字典服务器)
- Redis是免费的开源的,用C语言编写,遵守BSD协议,是一个高性能(key/value)分布式内存数据库,基于内存运行并支持持久化NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为数结构服务器。
- Redis与其他key-value缓存产品有一下特点:
- Redis 支持数据的持久化,可以将内存中的数据保持在磁盘上,重启的时候可以再次加载进行使用。
- Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供list、set、zset、hash等数据结构的存储。
- Redis 支持数据的备份,即master-slave模式的数据备份。
二、能干嘛
- 内存存储和持久化:Redis支持异步将内存中的数据写到磁盘上,同时不影响继续服务
- 取最新N个数据的操作,如:可以将最新的10条评论ID放在Redis的List集合中
- 模拟类似于HttpSession这种需要设定过期时间的功能
- 发布、订阅消息系统
- 定时器、计数器
三、去哪下
四、怎么玩
- 数据类型、基本操作和配置
- 持久化和复制、RDB/AOF
- 事务的控制
- 复制
五、安装
- Window下安装Redis:https://blog.csdn.net/Future_LL/article/details/84435162
- Linux下安装Redis:https://blog.csdn.net/Future_LL/article/details/84503429
- 这里将一下退出Redis:
六、Redis启动后杂项基础知识讲解
- Redis是单进程
- 单进程模型来处理客户端的请求,对读写等事件的响应,是通过epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率
- Epoll是Linux内核为处理大批量文件描述符而做了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率
- 默认16个数据库,类似数组下表从0开始,初始默认使用零号库
- 输入命令:vim /usr/local/redis3.0.0/bin/redis.conf
- 切换当前数据库:select 7
- 查看key的个数:dbsize
- 清空当前库:flushdb
-
- 清空所有库:flushall
-
- 统一密码管理,16个库密码相同,要么都OK要么一个也连接不上
- Redis索引都是从0开始
- 默认端口是6379