Redis是什么
- 开源
- 基于建值得存储服务系统
- 多种数据结构
- 高性能,功能丰富
Redis的特性
-
速度快
-
- 10W/S读写
- 数据存在内存
- c语言实现的
- 单线程
-
持久化
-
- Redis所有的数据保持在内存中,对数据的更新将异步地保存到磁盘中
-
多种数据结构
-
- String (字符串)
- Hash(哈希)
- List(列表)
- Set(集合)
- zset(sorted set:有序集合)
- BitMaps:位图
- HyperLogLog:超小内存唯一值计数
- CEO:地理信息定位
-
支持多种编程语言
-
功能丰富
-
- 发布订阅
- lua脚本
- 事务
- pipeline
-
简单
-
- 不依赖外部库
- 单线程模型
-
主从复制
-
- 从服务器(多)复制到主服务器上
-
高可用、分布式
Redis典型应用场景
-
缓存系统
-
- App Server
- cache
- Storage
-
计数器
-
消息队列系统
-
排行榜
-
社交网络
-
实时系统
Redis可执行文件说明
- redis-server → Redis服务器
- redis-cli → Redis命令行客户端
- redis-benchmark → Redis性能测试
- redis-check-aof → AOF文件修复工具
- redis-check-dump → RDB文件检查工具
- redis-sentinel → Sentinel服务器
三种启动方式
-
最简启动
-
-
redis-server
-
- ps -ef | grep redis(查看redis进程)
-
-
动态参数启动
-
- redis-server --port 6380
-
配置文件启动
-
- redis-server configPath
-
三种启动方式的比较
-
- 生产环境选择配置启动
- 单机多实例配置文件可以用端口区分开
Redis客户端连接
- redis-cli -h ip -p 端口
Redis客户端返回值
- 状态回复 : ping → PONG
- 错误回复 : hget hello field → (error)WRONGTYPE Operation against
- 整数回复 : incr hello → intager)1
- 字符串回复:get hello → “world”
- 多行字符串回复:mget hello foo → 1)“world” 2) “bar”
Redis常用配置
- daemonize → 是否是守护进程(no|yes)
- port → Redis对外端口号
- logfile → Redis系统日志
- dir → Redis工作目录
默认端口
6379