(一)Redis初始
一、Redis初始
谁在使用Redis?
GitHub、Twitter、新浪微博、StackOverflow、阿里巴巴、阿里云、百度、美团、搜狐
Redis的特性:
- 速度快
- 持久化
- 多种数据结构:
- 支持多种编程语言
- 功能丰富
- 简单
- 主从复制
- 高可用、分布式
1.速度快:
每秒10万ops
为什么这么快?->数据存储在内存中,由5万行C语言代码使用,单线程(与存储在内存有关)
2.持久化(断点不丢失数据):
Redis将所有数据保存在内存中,对数据的更新将异步地保存到磁盘上。
3.多种数据结构
以key-value的形式存储,value的类型可以是字符串、哈希、集合、有序结合、列表
此外还有:(衍生的数据结构)
- BitMaps:位图
- HyperLogLog:超小内存唯一值计数
- GEO:地理信息定位
4.支持多种客户端语言:
java、PHP、python、lua、nodeJs、Ruby
5.功能丰富:
- 发布订阅
- 事物
- Lua脚本
- pipeline:提高客户端并发效率
6.“简单”
单机核心代码只有23000+行
此外,不依赖外部库、单线程模型(服务端、客户端的开发都会容易)
7.主从复制
可以将主服务器上的数据复制到从服务器上
8.高可用、分布式:
- Redis-Sentinel(v2.8)支持高可用
- Redis-Cluster(v3.0)支持分布式
Redis的典型使用场景
- 缓存系统:比如在web客户端和服务器中间作为缓存
- 计数器:比如微博中的点赞数和转发数
- 消息队列系统
- 排行榜:比如游戏排行榜
- 社交网络
- 实时系统:比如过滤器、垃圾邮件处理系统
Redis安装
已经安装好了,看里边有哪些文件:
- redis-server:启动redis服务器
- redis-cli:redis命令行客户端
- redis-check-aof:AOF文件修复工具
- redis-check-dump:RDB文件修复工具
- redis-sentinel:启动redis-sentinel界面(服务器)
Redis三种启动方式:
- 最间启动
- 动态参数启动
- 配置文件启动
1.最间启动
直接执行redis-server
验证方法:(验证是否正确启动)
- ps -ef | grep redis
- netstat -antpl | grep redis
- redis-cli -h ip -p port ping
2.动态参数启动redis
redis-server --port 6380
3.配置文件启动
redis-server configPath
三种启动方式比较:
- 生产环境中选择配置启动(一般一台机器会启动多个redis实例)
- 单机多实例配置文件可以用端口区分开
Redis客户端返回值:
- 状态回复:ping->PONG
- 错误回复:
- 整数回复:
- 字符串回复:比如:get hello 回复"world"
- 多行字符串回复:比如 mget hello foo,回复:"world" "bar"
Redis常用配置:
- daemonize:是否以守护进程的方式启动(默认是no,建议选择yes)
- port:使用哪个端口进行启动(默认6379)
- logfile:Redis系统日志,文件名
- dir:Redis的工作目录,即Redis的日志文件、持久化文件存在哪个目录中

浙公网安备 33010602011771号