Windows下安装Redis服务

一、Redis简单介绍: 

     Redis是有名的NoSql数据库

     Redis是一个分布式缓存数据系统,存储Key-value的数据结构,可以以数据库的形式,缓存系统,消息处理器使用,它支持的存储value类型很多,例如,string、list(链表)、set(集合)、zset(sorted set--有序集合)、hash(哈希类型)等。

     Redis和memcached的优缺点及区别:      

     (1) Redis和memcached两者都速度快,性能都比较高,要大于mongodb

     (2) Redis支持丰富数据类型,支持string,list,set,sorted set,hash;memcache数据结构单一;mongodb支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富

     (3) Redis支持事务比较弱,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行;Memcache 在并发场景下,用cas保证一致性;mongoDB不支持事务   

     (4) Redis可以持久化数据;memcache不支持,通常用在做缓存提升性能;MongoDB从1.8版本开始采用binlog方式支持持久化的可靠性 

     (5) 过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期;Redis可以通过例如 expire 设定,例如expire name 10

     (6) 分布式--设定memcache集群,利用magent做一主多从;Redis可以做一主多从。两者都可以一主一从

     (7) 存储数据安全--memcache挂掉后,数据没了;Redis可以定期保存到磁盘(持久化);

     (8) 灾难恢复--memcache挂掉后,数据不可恢复; Redis数据丢失后可以通过aof恢复

     (9) Redis支持数据的备份,即master-slave模式的数据备份

     (10) Redis是单线程工作模型,好处是:纯内存操作,单线程操作,避免了频繁的上下文切换,采用了非阻塞I/O多路复用机制

二、五种数据类型的应用场景

3.1 string的应用场景

普通的 key-value键值对都可以用 string来保存,例如:

1. 访问量统计,每次访问博客和文章,都用 incr 命令加一。
2. 做缓存。

3.2 list 的应用场景

作为队列,因为 list 的两端操作比较方便,所以可以用于一些需要获取最新数据的场景,如新闻类应用的最新新闻。

3.3 hash 的应用场景

用于存储、修改对象属性。比如:用户(姓名、性别、爱好),文章(标题、发布时间、作者、内容)。其中 用户相当于key,(姓名、性别、爱好)相当于存储的value。

Hash 是一个 String 类型的 field(域)和 value(值)的映射表,Hash 特别适合存储对象。Redis 中每个 Hash 可以存储 2^32-1 个键值对(4,294,967,295)。

  • 缓存对象数据
  • 缓存购物车信息
  • 缓存商品信息
  • 计数器

3.4 set 的应用场景

1. 好友推荐,根据set的内容求交集,大于某个阈值就可以推荐。
2. 利用set的唯一性,统计网站内所有独立ip。

3.5 zset的应用场景

1. 排行榜,因为zset 本来就是有序的,并且有排序功能。

三、Windows下安装Redis

 说明:本文介绍的安装方式是直接使用压缩包解压后直接使用,另外一种方式是双击运行Redis-x64-3.2.100.msi 一步步安装(msi是微软格式的安装包)

 这里本人使用的是3.2版本的Redis,此版本只能安装在64位的操作系统中,此版本安装压缩包云盘连接:http://pan.baidu.com/s/1skQUB3R,密码:xcst

 下载Redis-x64-3.2.100.rar文件之后直接解压到指定目录就完成了Redis的安装了,解压成功后,在解压后的文件夹中有几个可执行文件如下:

 redis-server.exe: 服务端运行程序;

 redis-check-aof.exe: 更新日志检查;

 redis-benchmark.exe: 性能测试,用于模拟同时由N个客户端发送M个set/get查询;

 redis-cli.exe: 服务端开启后,我们的客户端就可以输入各种命令测试。

 redis.windows-service.conf: 服务端配置文件,默认的IP是127.0.0.1  默认端口是6379

三、使用命令窗口运行redis服务:

1. 打开一个cmd 窗口(管理员身份运行),使用cd命令切换目录到自己解压后文件夹的目录中(如:我的是D:\Program Files\Redis-x64-3.0.500),

运行 redis-server.exe redis.windows.conf,出现下图

这时候另启一个cmd窗口,原来的cmd窗口不可关闭,不然Redis服务端就关闭了,就无法访问了。

2. 还是一样切换到redis目录下(我的是D:\Program Files\Redis-x64-3.0.500),

运行redis-cli.exe -h 127.0.0.1 -p 6379
设置键值对 set key 123
取出键值对 get key

出现下图说明测试运行成功

问题:但这样执行redis-server.exe redis.windows.conf命令开启Redis服务不切合实际,应该设置在服务中启动。

解决方案:

3. 安装成Windows服务—开机自启

打开一个cmd 窗口(管理员身份运行),使用cd命令切换目录到自己解压后文件夹的目录中(如:我的是D:\Program Files\Redis-x64-3.0.500),

运行redis-server --service-install redis.windows-service.conf

作为服务运行的Redis配置文件,通常为redis.windows-service.conf,而不是redis.windows.conf。小心不要选错了。

打开cmd窗口输入services.msc,Redis出现在服务中,则表明已经作为windows服务了,手动去启动该服务,并设置启动类型为自动。

已经启动redis的windows服务,如下图所示:

四、Redis windows本地服务启动无法连接问题

Redis配置文件中默认设置了bind 127.0.0.1的原因。修改Redis配置文件redis.windows-service.conf中bind配置, 修改完成后重启服务

  

五、Redis可视化管理工具:RedisStudio

百度云连接:http://pan.baidu.com/s/1gfIbLar  密码:mpne

 
 
posted @ 2018-08-24 12:20  以德为先  阅读(7919)  评论(1编辑  收藏  举报