Redis
一、简介
Redis全称为:Remote Dictionary Server (远程数据服务),是基于C语言实现的key-value数据库,提供多种语言的API;通常被称作数据结构服务器,其原因是value支持String,List,Hash,Set,zset(sorted set 有序集合)。
二、特点
- 读写速率极高,因为Redis以内存作为数据存储的介质。
- 支持数据持久化。
- 支持数据类型String,List,Hash,Set,zset。
- 支持master-slave(主从)模式,可以配置集群,更利于支撑大型的项目。
- 原子性,单一操作具有原子性,多个操作提供事务支持(不是原子性的),事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。。
三、应用场景
由于Redis的数度块的特性,所以常被用来存储一些被频繁访问的数据,在高并发、高性能、集群中应用较多,作为辅助其他数据库一起工作,节省内存开销,提高数度。
- 会话缓存
- 消息队列
- 发布,订阅消息
- 商品秒杀等
四、安装与启动
- Redis下载:https://github.com/microsoftarchive/redis/releases
- 启动服务端, 命令行切换至解压后的Redis路径输入:redis-server.exe redis.windows.conf (省略redis.windows.conf为启动默认的)
- 启动client,重开一窗口,命令行切换至解压后的Redis路径输入:redis-cli.exe -h 127.0.0.1 -p 6379 (6379为默认端口号)
- 输入命令:ping (检测服务端是否启动,pong表示已启动)
- 连接远程服务器命令:redis-cli -h host -p port -a password
- 获取配置信息命令:config get XXX (*代表获取所有)
- 修改配置信息:config set XXX newValue 或通过配置文件从redis.conf
五、数据结构
- String:Redis最基本的数据类型,可包含任何数据,包括img或序列化的对象,最大可存储512M;
- List:按插入顺序排列,可从头部和尾部插入;
- Hash:一个 string 类型的 field 和 value 的映射表,hash 适合用于存储对象;
- Set:集合中的元素是无序的,无重复值;
- zset:有序集合,集合每个元素都会关联一个double类型的分数,通过分数来为集合中的成员进行从小到大的排序;zset的成员是唯一的,但分数(score)却可以重复;