https://coding.imooc.com/learn/list/151.html
Redis是什么
1.开源
2.基于键值的存储服务系统
3.多种数据结构
4.高性能,功能丰富
Redis的特性回顾
1.速度快
10w OPS
数据存在哪?-->内存中
什么语言写?--> C
线程模型?-->单线程
2.持久化(断电不丢数据)
Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。
3.多种数据结构
字符串,
hash
linked list
sets
Sorted Sets
BitMaps:位图
HyperLogLog:超小内存唯一值计数(计数不准)
GEO:地理位置定位
4.支持多种编程语言
java php python....
5.功能丰富
发布订阅
Lua脚本
事务
pipeLine
6.简单
23000 lines of code
不依赖外部库
单线程模型
7.主从复制
8.高可用,分布式
Redis-Sentinel(v2.8) 支持高可用
Redis-Cluster(v3.0)支持分布式
Redis单机安装
linux
1.下载
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
2.解压
tar -xzf redis-3.0.7.tar.gz
- 建立软连接(似于windows下的快捷方式)
In -s redis-3.0.7 redis
4.进入目录
cd redis
- 编译和安装
make && make install
redis可执行文件说明
redis-server -->redis服务器
redis-cli --> redis命令行客户端
redis-benchmark -->redis性能测试工具
redis-check-aof -->AOF文件修复工具
redis-check-dump --> RDB文件检查工具
redis-sentinel -->Sentinel 服务器(2.8以后)
三种启动方法
1.最简启动
redis-server
2.动态参数启动
reids -server --port 6380
3.配置文件启动
reids-server configPath
三种启动方式比较
生产环境选择配置启动
单机多实例配置文件可以用端口区分开
验证启动
ps -ef |grep redis
netstat -antpl | grep redis
redis-cli -h ip -p port ping
redis客户端连接
redis客户端返回值
状态回复--> ping PONG
错误回复--> WRONGTYPE Operation against
整数回复--> (integer) 1
字符串回复-->"world"
多行字符串回复--》1)“hello”,2)"world"
Redis使用场景
Redis典型应用场景
1.缓存系统
2.计数器
点赞数,播放数,评论数
3.消息队列系统
简单的消息队列
4.排行榜
5.社交网络
6.实时系统
Redis常用配置
1.daemonize -->是否是守护进程(no|yes)
默认 no 建议配置为yes
2.port -->redis 对外端口号
3.logfile --> redis 系统日志
4.dir --> redis 工作目录