Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis的优点:
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s。
- 丰富的数据类型 – Redis支持二进制案例的字符串、列表、集合、有序集合、哈希表。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持发布/订阅机制、通知、Key过期等特性。
Redis的命令:
Redis的命令大约有100多个,这里列举一些常见的命令:
- SET:为一个键设置值。
SET key value- GET:获取一个键的值。
GET key- DEL:删除一个键。
DEL key- MSET:同时设置多个键的值。
MSET key1 value1 key2 value2 ...- MGET:同时获取多个键的值。
MGET key1 key2 ...- INCR:将键的值增加1。
INCR key- DECR:将键的值减少1。
DECR key- LPUSH:将一个值插入到列表头部。
LPUSH key value- RPUSH:将一个值插入到列表尾部。
RPUSH key value- LRANGE:获取列表中一段的值。
LRANGE key start stop- SADD:向集合中添加一个成员。
SADD key member- SMEMBERS:获取集合中的所有成员。
SMEMBERS key- ZADD:向有序集合中添加一个成员。
ZADD key score member- ZRANGE:获取有序集合中的所有成员。
ZRANGE key start stop [WITHSCORES]- HSET:向哈希表中设置一个字段的值。
HSET key field value- HGET:获取哈希表中的一个字段的值。
HGET key field- HGETALL:获取哈希表中的所有字段和值。
HGETALL key- PUBLISH:发布一条消息。
PUBLISH channel message- SUBSCRIBE:订阅一个频道。
SUBSCRIBE channel- CONFIG GET:获取配置参数的值。
CONFIG GET parameter- SAVE:同步保存数据到硬盘。
SAVE - BGSAVE:异步保存数据到硬盘。
BGSAVE- SHUTDOWN:关闭服务器。
SHUTDOWN- INFO:获取服务器的统