内存里的 Key-Value 存储,Redis的玩法真不少。它不仅能存字符串,还能整列表、集合、哈希表啥的,类型挺丰富。你要是以前用过Memcache,那上手 Redis 应该挺轻松,语法简单,响应也快。是它支持设置过期时间,做缓存贼方便。
Redis 的 value 其实是有类型的,这点跟传统的 Key-Value 库有点不一样。除了最常见的String
,还有List
、Set
、Zset
和Hash
。比如你想做个排行榜,就可以用Zset
;要存用户资料,就用Hash
,结构清晰又高效。
性能方面,Redis 跟Memcache差不多快,但功能多了不止一点。比如你还能搞事务、发布订阅,还能持久化,挂了也不怕数据丢。运维省心,用起来放心。要是你做分布式、秒杀系统啥的,用 Redis 基本成标配了。
下面这些文章也蛮有参考价值的,看看也不亏:
- Redis-4.0.6 开源高性能 Key-Value 数据库
- Redis 数据类型解析:String 与 Hash
- NoSQL 数据库之 Redis 管理(string 和 hash 类型)
- Apache Accumulo 高性能分布式 Key-Value 存储方案
- Redis 数据类型常用操作 API 使用示例
如果你刚接触Redis,建议先从String
和Hash
开始练练手,操作简单,也常用。用命令行多试试,比如:
SET user:1:name "Tom"
HSET user:1 age 25
这些基本操作熟练了,后面搞复杂结构就容易多了。