再识redis-2
Redis初识
特点关键字:
- 高性能Key-Value服务器 
  - ops能达到十万级别
- 每秒能执行约11万集合
- 每秒约81000-条记录
 
- 主要数据结构 
  - 列表
- 集合
- 有序集合
- 散列(别名哈希 Redis的哈希是键值对的集合。 Redis的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象)
- 字符串
 
- 丰富的功能 
  - 慢查询
- 发布订阅
- GEO(地理位置)
- 位图
- 持久化
 
- 高可用分布式支持 
  - 集群
- 主从复制
- 哨兵机制
- Redis Cluster(v3.0以上)
- Redis-Sentinel(v2.8以上)
 
Redis经典应用场景
- 缓存系统
- 计数器
- 消息队列系统
- 排行榜
- 购物车
- 并发网络
- 实时系统(布隆过滤器)
- 社交聊天(粉丝 关注 点赞)
Redis安装
- Linux安装 https://segmentfault.com/a/1190000016012597
- Windows安装 https://www.runoob.com/redis/redis-install.html
- macOS安装 如Linux安装
Redis文件说明
- redis-server Redis服务器
- redis-cli Redis命令行客户端
- redis-benchmark Redis性能测试工具
- redis-check-aof AOF文件修复工具 用于修复损坏的文件
- redis-check-dump RDB文件修复工具
- redis-sentinel 高可用解决方案
Redis 启动
-  最简启动Redis 直接运行redis-server命令方式 
-  动态参数启动Redis 
 比如: redis-server --port 6666
-  redis-server configPath(使用配置文件启动) 
注:生产环境推荐配置启动 单机用多实例配置文件 可以用端口区分开 实现多端口集群
Redis客户端返回值类型说明
- 状态回复:pong
- 错误回复:WRONGTYPE Operation against
- 整数回复:1
- 字符串回复:“world”
- 多行字符串回复:
 “world”
 “bat”
Redis常用配置
- daemonize 是否是守护进程启动
- port 端口号指定
- logfile 系统日志文件
- dir 工作目录
注:为什么Redis默认端口是6379 因为在老式按键机上9键的6379对应MERZ而MERZ取之于意大利女歌手Alessia MErz的名字
Redis 常用命令
- keys * 遍历所有的key (*就是通配符)时间复杂度为O(n)
 可以 keys *he 查询所有以he后缀的key
 注:一般生产环境key比较多 keys打印的也会多,也会很慢,所以不推荐在生产环境使用
- dbsize 计算key的总数 时间复杂度为O(1)
- exists key (key 为输入的key值) 检查key是否存在 时间复杂度为O(1)
- del key (key为指定的key-value) 删除指定的key-value 成功删除返回1 否则0 时间复杂度为O(1)
- expire key seconds (key在seconds秒后过期) 时间复杂度为O(1)
- ttl key 查看key剩余的过期时间 返回值为-2 代表key已经不存在了 -1代表key存在 并且没有过期时间 时间复杂度为O(1)
- persist key 去掉key的过期时间 时间复杂度为O(1)
- type key (返回key的类型) 时间复杂度为O(1)
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号