Redis系列之(一):10分钟玩转Redis(转)
2016-01-11 19:15
627 查看
1. Redis介绍
Redis是一个开源的使用ANSI C语言编写、基于内存的Key-Value数据库。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步,由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。
相比memcached,Rdeis有以下优点:
1. redis原生支持的数据类型更多。2. redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。
3. redis支持master-slave模式的数据备份。
4. 性能。Redis作者的说法是平均到单个核上的性能,在单条数据不大的情况下Redis更好。
为什么这么说呢,理由就是Redis是单线程运行的。因为是单线程运行,所以和Memcached的多线程相比,整体性能肯定会偏低。因为是单线程运行,所以IO是串行化的,网络IO和内存IO,因此当单条数据太大时,由于需要等待一个命令的所有IO完成才能进行后续的命令,所以性能会受影响。
2. 安装Redis
2.1 Redis的安装十分简单,用yum或apt-get可以直接安装
2.2 启动/停止Redis
3. 使用Redis
3.1 Redis-cli命令行操作KV
连接到Redis3.2 高级功能
3.2.1 自增,自减等,INCR、DECR、INCRBY、SORT
3.2.2 事务
3.2.3 HyperLogLogs
Redis 在 2.8.9 版本添加了 HyperLogLog 算法。3.2.4 发布/订阅 功能
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。在一个客户端订阅频道 redisChat
发布端:
3.3查看Redis状态
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/c6c42fca5965ef132c208a115d11bf64.png)
info输出的信息很多,可以指定输出的部分
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/247d6c4496c613f87849628bebba2ed6.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/79d0a8cf82d9674b1a498b0bfebf5d49.png)
used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位。
used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps等命令的输出一致。
rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。
used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。
used_memory_peak : 峰值,设定的最大内存要大于峰值
3.4 其他命令
查看记录数![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/0a5538e9e16a0fb1f820afeb991f782e.png)
查看所有KEY
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/682335d4c9bfc08bba03fc23e9f7446d.png)
列出所有客户端连接
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/5fe75a39bce58ea0cb2c99c9c3406481.png)
关闭ip:port的客户端
4. 设定文件
4.1 /etc/redis.conf
4.2 查看最大连接数
4.3 查看slow log
5. 数据持久化
5.1 快照(snapshot)
5.1.1 在设定文件中设置快照
5.1.2 手动创建快照
在命令行执行save或bgsave命令5.2 日志备份(Append Only File)
类似于mysql的binlog,将操作都记录在log里。快照达不到要求保存的精度时,和快照结合使用,不建议单独使用。默认间隔是1秒,可以修改。5.2.1 在设定文件中设置AOF
5.3 还原
要恢复Redis的数据只需移动 Redis 的备份文件(dump.rdb,appendonly.aof)到 Redis 目录,然后启动服务器。为了得到你的 Redis 目录,使用命令如下所示:
6. 后记
本文简单介绍了Redis的安装及使用,接下来介绍主从同步,负荷分散。相关文章推荐
- Redis系列之(二):Redis主从同步,读写分离(转)
- Redis学习记录之命令KEY(五)
- mysql数据向Redis快速导入
- 使用redis作为缓存
- redis入门
- Java的redis控制台-Jedis
- Redis之七种武器
- 【Redis笔记(一)】 环境配置
- Redis info参数总结
- mac os安装redis及python安装redis库
- You need tcl 8.5 or newer in order to run the Redis test
- redis启动,以及后续配置--持续更新
- redis配置文件
- Redis 集群安装
- redis主从同步期间发送的各种命令和各种超时
- redis的备份
- Redis教程
- Redis系列之(二):Redis主从同步,读写分离
- Redis 存储字符串和对象<转>
- Redis采用Sentinel实现主从切换