1.Redis简介
Redis是一个速度非常快的非关系远程内存数据库,它可以存储键(key)与5种不同类型的值(value)之间的映射(mapping),可以将存储的内存键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能,用户可以方便地将Redis扩展成一个能够包含数百GB数据,每秒处理上百万次请求的系统。

在Redis配置文件中把daemonize no改为yes即可以守护进程的方式运行Redis
2.Redis数据类型简介
| 结构类型 | 结构存储的值 | 结构的读写能力 |
|---|---|---|
| String(字符串) | 可以是字符串,整数或者浮点数 | 对整个字符串或者字符串其中的一部分执行操作;对整数和浮点数执行自增(incr)或者自减(decr)操作 |
| List(列表) | 一个链表,链表上的每个节点都包含一个字符串 | 从链表两端推入或者弹出元素;根据偏移量对链表进行修建;读取单个或者多个元素;根据值查找或者移除元素 |
| Set(集合) | 包含字符串的无序收集器,并且元素是唯一的不重复的 | 添加/获取/移除单个元素;检查一个元素是否存在集合中;计算交集,并集,差集;从集合里面随机获取元素 |
| Hash(散列) | 包含键值对的无序散列表 | 添加/获取/移除单个键值对,获取所有键值对 |
| Zset(有序集合) | 字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值大小决定 | 添加/获取/删除单个元素;根据分值范围(range)或者成员来获取元素 |
2.1.字符串
| 命令 | 行为 |
|---|---|
| get | 获取存储在给定键中的值(返回元素) |
| set | 设置存储在给定键中的值(返回OK) |
| del | 删除存储在给定键中的值(适用于删除所有类型,返回删除数量) |
2.2.列表
| 命令 | 行为 |
|---|---|
| rpush | 将给定值推入列表右端(返回当前列表长度) |
| lrange | 获取列表在给定范围上的所有值(返回元素) |
| lindex | 获取列表在给定位置上的单个元素(返回元素) |
| lpop | 从列表的左端弹出一个值;并返回被弹出的值(返回被弹出元素) |

2.3.集合
| 命令 | 行为 |
|---|---|
| sadd | 将给定元素添加到集合(返回成功添加数量) |
| smembers | 返回集合包含的所有元素(返回元素) |
| sismember | 检查给定元素是否存在于集合中(返回1:是,返回0:否) |
| srem | 如果给定的元素存在于集合中,那么移除这个元素(返回被删除数量) |

2.4.散列
| 命令 | 行为 |
|---|---|
| hget | 获取给定散列键的值(返回元素) |
| hset | 在散列里面关联起给定的键值对(返回成功添加数量) |
| hgetall | 获取散列包含所有键值对(返回元素) |
| hdel | 如果给定键存在于散列里面,那么移除这个键(返回被删除数量) |

2.5.有序集合
| 命令 | 行为 |
|---|---|
| zadd | 将一个带有给定分值的成员添加到有序集合里面(返回成功添加数量) |
| zrange | 根据元素在有序排列中所处的位置,从有序集合里面获取多个元素(返回元素) |
| zrangebyscore | 获取有序集合在给定分值范围内所有元素(返回元素) |
| zrem | 如果给定成员存在于有序集合,那么移除这个成员(返回被移除数量) |


