Redis基础定义
Redis 是一款开源、使用ANSI C语言编写、支持网络访问、同时支持内存存储与持久化的 Key-Value(键值)数据库 / 存储系统,提供多编程语言客户端API。
- 属于NoSQL非关系型数据库;
- 和 Memcached 同类,但功能更强,可以弥补 Memcached 的短板;
- 常作为关系型数据库(MySQL等)的补充缓存方案。
支持的数据类型
String:字符串类型List:双向链表Set:无序集合zset(sorted set):有序集合Hash:哈希结构(类似Map)
Memcached 仅支持字符串,这是二者最典型的区别之一。
特性
- 多语言客户端支持
官方提供 Java、C/C++、C#、PHP、JavaScript、Python、Ruby、Perl 等大量语言SDK,开发接入便捷。 - 主从同步机制
支持主从复制,可以实现数据异地备份、读写分离,提升可用性。 - 高性能
数据优先存放内存,读写速度极高,广泛用作分布式缓存。 - 持久化能力
可将内存数据落地磁盘,重启后数据不会全部丢失(Memcached 默认无持久化)。
背景
早期Redis项目由VMware资助开发与维护。
我们会用 WinForm(C#) 简易Redis客户端Demo来给大家演示使用,是C#对接Redis的入门演示程序。
- 设置键值
- 根据键获取值
Redis vs Memcached 简要对比
| 特性 | Redis | Memcached |
|---|---|---|
| 数据类型 | 5种基础结构 | 仅String字符串 |
| 持久化 | 支持RDB/AOF持久化 | 不支持持久化 |
| 主从复制 | 支持 | 不原生支持 |
| 内存淘汰 | 多种淘汰策略 | LRU淘汰 |
Next: 安装