1. Redis介绍
1.1 简介
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统
,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构
,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)
与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)
性能问题: 读速度 11.2万次/秒 写 8.6万次/秒 平均 10万次/秒
1.2 为什么需要使用缓存
说明:使用缓存可以有效的降低用户访问物理设备的频次,有效的减少并发的压力。保护后端真实的服务器。
1.3 缓存如何设计
1.缓存应该使用什么样的数据结构. K-V KEY必须唯一
2.如果需要缓存进行快速的读取,首先开发语言如何选择? C语言 软件的运行环境如何选择. 内存中
3.如何防止内存数据丢失! 缺点: 断电即擦除 内存数据的持久化操作(内存数据保存到磁盘中)
4.缓存的空间大小如何维护. 不能一直存,有时也会删除数据 如何操作? 内存优化算法: LRU算法/LFU算法
5.缓存使用如何防止宕机带来的影响 (HA)高可用 部署redis集群.
2. Redis安装
2.1 下载
Linux 控制台下载
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解压
tar -zxvf redis-5.0.5.tar.gz
2.2 安装
在Redis根目录依次执行:make
make install
2.3 编辑redis.conf
远程编辑工具:WinSCP
2.3.1 修改ip绑定
2.3.2 修改保护模式
2.3.3 开启后台启动
2.4 Redis命令
1.启动redis redis-server redis.conf
2.进入客户端 redis-cli -p 6379
3.关闭redis redis-cli -p 6379 shutdown
简化操作: 如果操作的redis是默认的端口 则可以省略不写.
redis-cli & redis-cli shutdown
2.4.1 String类型
2.4.2 Hash类型
说明:可以用散列类型保存对象和属性值
2.4.3 List类型
说明:Redis中的List集合是双端循环列表,分别可以从左右两个方向插入数据.
List集合可以当做队列使用,也可以当做栈使用
队列:存入数据的方向和获取数据的方向相反
栈:存入数据的方向和获取数据的方向相同
2.4.4 Redis事务命令
说明:redis中操作可以添加事务的支持.一项任务可以由多个redis命令完成,如果有一个命令失败导致入库失败时.需要实现事务回滚.
命令 | 说明 |
---|---|
multi | 标记一个事务开始 |
exec | 执行所有multi之后发的命令 |
discard | 丢弃所有multi之后发的命令 |