1启动redis的3种方式
- 第2 3 种都可以·1通过改端口号来启动多个redis服务端
1.1自动启动
- redis-server
- redis-cli
1.2指定端口启动
1.3指定配置文件启动
- 配置文件
- 服务端启动
- 客户端连接
- 日志部分
3事务
3.1什么是事务
3.2事务的基本操作
3.2.1取消事务
3.2.2事务的基本流程
3.2.3事务的注意事项
3.3锁
3.4分布式锁
3.4.1什么是分布式锁
3.4.2死锁的发生和解决
4删除策略
4.1过期数据
- 数据删除与否取决于配置文件的删除策略
4.1.1时效数据的存储结构
- 在每个库中都有一个expires空间 ,这个空间存放这有时效性数据的key对应value的地址以及key的有效时间
4.2数据删除策略
4.2.1定时删除
4.2.2惰性删除
- 每次当客户端get任何数据都会调用expirelfNeeded()这个函数。这个函数可以判断数据是否过期。如果过期删除expires以及value的空间
4.2.3定期删除
- 通过info指令可以在客户端看到server.hz的值。server.hz的值表示秒执行serverCron()函数多少次。serverCron函数可以调用databaseCron对整个数据库16个分库的expires进行更新,而databaseCron函数调用activeExpireCycle函数对一个分库一个分库进行更新。
4.3.4三个策略的对比
- redis数据库使用的是惰性删除和定期删除。
4.3逐出算法
4.3.1为什么需要数据的逐出
4.3.2数据逐出的相关配置
4.3.3数据逐出的八种策略
4.3.4数据逐出的配置的依据
5redis配置文件
5.1服务端设定
5.2日志配置
5.3客户端配置
5.4为多个服务器配置文件配置相同部分
6高级数据类型
6.1Bitmaps
- Bitmaps 是一个以bit为操作单位的数据类型 ,所以你取值时一定要知道value在key的偏移量
6.1.1基础操作
6.1.2扩展操作
6.1.3应用场景
6.2 HyperLogLog
- 用于做基数统计
6.2.1什么是基数
6.2.2LogLog算法
6.2.3基本操作
6.2.4注意事项
6.3CEO
- 存储多个坐标的数据结构
6.3.1基本操作