一、介绍
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 产品有以下三个特点:
1、支持数据的持久化,可以将内存中的数据保存在磁盘中,重启可再次加载进行使用。
2、支持的key-value类型的数据:ist,set,zset,hash等数据结构的存储。
3、支持数据备份,即master-slave模式的数据备份。
(一)、BSD协议(Berkeley Software Distribution伯克利软件发布)
BSD开源协议允许修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但需要满足以下三个条件:
1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;
2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议;
3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广;
例如:在开源代码上进行修改后,完成了某个产品,那么此产品可以使用任意协议,但在版权声明中必须要提及使用的开源代码,并且附带它的开源协议。在做商业推广的时候,不能使用开源代码作者的名字进行推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权;BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
(二)、zset 有序集
sorted set有序集合,元素为string类型,具有唯一性。每一个元素都会关联一个double类型的score,会按照从小到大的顺序进行排序。但是不能进行修改操作。
(三)、master-slave模式
主从模式,核心思想是将一个原始任务分解为若干个语义等同的子任务,并由专门的工作者线程来并行执行这些任务,原始任务的结果是通过整合各个子任务的处理结果形成的。在分布式的系统中,这个模式还是比较常用的。简单的说,主从(Master-Slave)与进程-线程的关系类似,使用一对多的服务器集群完成任务。主要的使用场景有:
并行计算,以提升计算性能;
容错处理,以提升计算的可靠性;
计算精度,以提高计算的精确程度;
缺点:由于设备无法共享,可能存在延迟问题
(四)、优势
1、性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
2、丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 zset 数据类型操作。
3、原子性 - 要么成功执行要么失败。单个操作是原子性的,多个操作也支持事务。
4、丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
(五)、与普通key-value的区别
1、Redis有更复杂的数据结构并且提供对他们的原子性操作,无需进行额外的抽象。
2、Redis作为一个内存数据库在运行内存中可持久化到磁盘。
二、windows安装
1、下载地址:https://github.com/tporadowski/redis/releases
2、
(1)解压下载后的zip包,命名为redis,从包内路径进入cmd,执行指令
redis-server.exe redis.windows.conf
出现下图说明启动成功
此时服务端运行成功,查看使用的port。不要关闭。
(2)直接下载.msi安装包,直接进行安装,安装完成后,可在任务管理其中看到服务运行
3、相同路径进入新的cmd,执行
redis-cli.exe -h 127.0.0.1 -p 6379
或者在安装根目录下找到redis-cli.exe文件双击启动,进行测试。
4、使用redis-cli -h host -p port -a password可以启动指定的redis客户端,为防止有中文乱码,后面添加–raw