Redis 教程
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
谁适合阅读本文?
为专业的程序开发人员,一步一步了解 Redis 的应用
阅读本文需要了解的知识
需要了解基本的数据结构,几种:
String: 字符串
Hash: 散列
List: 列表
Set: 集合
Sorted Set: 有序集合
了解基本的数据结构。
相关资源
Redis 官网:https://redis.io/
Redis 在线测试:http://try.redis.io/
千年的回眸
查看redis 占用内存大小
info
# Memory
used_memory:13490096 //数据占用了多少内存(字节 byte)
used_memory_human:12.87M //数据占用了多少内存(带单位的,可读性好)
used_memory_rss:13490096 //redis占用了多少内存
used_memory_peak:15301192 //占用内存的峰值(字节)
used_memory_peak_human:14.59M //占用内存的峰值(带单位的,可读性好)
used_memory_lua:31744 //lua引擎所占用的内存大小(字节)
mem_fragmentation_ratio:1.00 //内存碎片率
mem_allocator:libc //redis内存分配器版本,在编译时指定的
有libc、jemalloc、tcmalloc
3种
千年的回眸
etcd和redis的比较和日常使用场景
etcd 红火于kurbernetes用etcd做服务发现
redis 兴起于memcache缓存的局限性
etcd是分布式存储 强调各个节点之间的通信同步
确保各节点数据和事务的一致性 使服务发现更稳定 本身单节点的写入能力不强
redis内存型缓存 也有cluster主从同步和读写分离
节点间的一致性强调数据 并不在乎事务 因此读写能力强 qps可达10万+
两者都是k-v存储
redis支持更多存储模式 KEY STRING HMAP SET SORTEDSET等 redis可完成如排序的简单逻辑
etcd 支持对key的版本记录和txn操作和client对key的watch 适合做服务发现
etcd做事务管理类的 基础架构服务较多 容器类的服务部署是其主流
redis 用在缓存服务器 作mysql缓存 依据请求量 做成多级缓存 存储型redis做持续化存储