目录
- 简介
- 按照
- 多数据支持
- 存储结构
- 应用场景
- 命令参考文档
1. 简介:
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
2. 安装
下载地址:http://download.redis.io/releases/redis-4.0.10.tar.gz
安装命令:
- tar -zxvf 安装包
- 在redis目录下 执行 make
- 修改redis.conf daemonize =yes
启动命令: ./redis-server …/redis.conf
停止命令: ./redis-cli shutdown
连接命令: ./redis-cli -h 127.0.0.1 -p 6379
3. 多数据支持
- 默认16个数据库,从0开始到15,可以通过redis.conf的databases 16修改
- 只有单机才有,集群没有这个概念
- 不支持自定义数据库名称,就是数字0-15
- 每个数据库不能单独设置授权
- 不同数据库数据不可见
- 默认都是自动选择0号数据库,不过可以通过select 1切换数据库
- 每个数据库之间并不是完全隔离的。 可以通过flushall命令清空redis实例面的所有数据库中的数据
4. 存储结构
- 字符类型
- 列表类型
- 散列类型
- 集合类型
- 有序集合
5. 应用场景
5.1 缓存-热数据:
热点数据(经常会被查询,但是不经常被修改或者删除的数据)
5.2 计数器
诸如统计点击数等应用。由于单线程,可以避免并发问题,保证不会出错,而且100%毫秒级性能,操作完成记得持久化,不然只保存在内存中。
命令:INCRBY
5.3 消息队列
相当于消息系统,ActiveMQ,RocketMQ等工具类似
5.4 分布式锁与单线程机制
- 分布式锁:SETNX key value key只能设置一次,如果已经存在不能进行设置
- 秒杀系统:基于redis是单线程特征,防止出现数据库“爆破”
- 全局增量ID生成,类似“秒杀”