Redis在windows下的安装

Redis 简介

 

 

 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、,是一个高性能的key-value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

 

 Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

 

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

 

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

 

参考: https://blog.csdn.net/yangwenxue1989/article/details/88884668

    https://blog.csdn.net/xoofly/article/details/88832683

一、目标

在windows环境下安装配置redis数据库。

二、环境

windows10 64bit、redis64-3.0.501 (for windows64bit)

三、软件下载

1.Redis数据库下载。https://github.com/ServiceStack/redis-windows    下载的速度可能比较慢

 

 

 点右侧的Clone or download,然后在弹出的窗口点Download ZIP。下载就行了。

 

2.点击release,可选择不同版本进行下载。

 

 

 

 

 

 

 

 

四、安装redis数据库

下载好是个zip压缩包,指定路径进行解压,,本文使用D:\JAVA\redis64-3.0.501 路径。

解压内容如下:

 

 

 1. 临时服务安装

打开一个 cmd 窗口 使用 cd 命令切换目录到D:\JAVA\redis64-3.0.501 路径,运行:

redis-server.exe redis.windows.conf

显示如下界面,则服务端启动成功。

备注:通过以上面命令,会创建Redis临时服务,不会在window Service列表出现Redis服务名称和状态,此窗口关闭,服务会自动关闭。可以装一个Redis Management测试一下,当关闭这个临时服务是数据库连不上的。

 

现在进行客户端调用,因为只有临时服务,所以不要关闭上面窗口,另外打开一个 cmd 窗口 使用 cd 命令切换目录到D:\JAVA\redis64-3.0.501 路径,

运行:

redis-cli.exe

客户端启动完成。

敲入Set age 34 返回OK ,表示写入内存中;我们再敲get age,会返回一个Value值34,如下图:

 

 

 

 2.默认服务安装  我们不可能每次要用Redis都去开一下临时服务,可不可以跟其它服务一样能够开机自启?当然是可以得,但是有点区别,后续会讲。进入Redis安装包文件下,敲入命令注册服务:

redis-server.exe --service-install redis.windows.conf --loglevel verbose

注:(须关闭临时服务,否则安装不上)

根据英文提示显然服务已经安装了,在window Service列表中能看到,但是没启动,也无法手动启动,只有敲命令启动/暂停/卸载服务:

redis-server.exe --service-start
redis-server.exe --service-stop
redis-server.exe --service-uninstall

 

 

 (类似如上插图)

 

3.自定义服务安装   将服务重命名。进入Redis安装包文件下,注册服务:

redis-server.exe --service-install redis.windows.conf --Service-name RedisServer1 --loglevel verbose

 

 

 

备注:通过以上面命令,会在window  Service列表出现"redisserver1"服务,但此服务不是启动状态,需要调下面命令启动服务。

与默认安装一样,唯一不同的就是在相应安装服务、启动、关闭、卸载服务时需要加上自定义Redis服务名:

redis-server.exe --service-start --Service-name RedisServer1

redis-server.exe --service-stop --Service-name RedisServer1 

redis-server.exe --service-uninstall --Service-name RedisServer1

通过命令行卸载自定义服务后,电脑重启一下,卸载服务会全部完成

 

 

 

4.Redis主从服务安装  主从服务可以实现负载均衡,其实就是把上面Redis安装文件包,拷贝到相应目录,修改主、从服务器配置文件中IP、Port,同时从服务器要指定主服务器 的IP、Port,按照Redis自定义服务安装中命令进行服务安装、服务启动、服务关闭、服务卸载即可使用。

我本地主从服务器安装包都还是在D:\redis-win目录,文件夹Redis-x64-3.2.100为主服务,文件夹Redis-x64-3.2.100-2则是从服务,用的都是本地IP:127.0.0.1,生产环境大家可以根据自己实际情况进行设置。

主服务器(RedisServer1)redis.windows.conf修改如下:port  6379(默认),不需要作修改;

从服务器(RedisServer2)redis.windows.conf修改如下:port  6380;slaveof  127.0.0.1  6379,修改地方看下图:

 

 

 

 

 

 我们用RedisManagement分别进行两个端口连接做客户端,在主服务添加键可以同步到从服务,从服务添加无效。如果从服务没有配置从属关系,我们可以在Redis管理器中对从服务进行配置,打开控制台,输入slaveof 127.0.0.1 6379,效果一样。

我们安装从服务时候,可以不通过配置文件来安装指定端口和指定主机。redis-server.exe --service-install redis.windows.conf --Service-name RedisServer2 --loglevel verbose --port 6380,这样也是指定端口安装。

运行从服务redis-cli.exe,,这跟RedisManagement一样,也能配从属关系。

 

五、管理客户端GUI程序

1.客户端管理程序Redis Desktop Manager

2.我用的版本是Redis Desktop Manager v.0.7.6.15,一路下一步安装即可。

3.连接Redis服务器

 

 一个简单的界面管理器。

连接成功后,如图所示。

 

 

六、REDIS数据库的用途

用于用户登录验证的session。因为redis数据库读取的速度较快,所以可以提高用户访问网站的速度。

redis+mysql:

看到很多网站都是用redis作为mysql的缓存使用。
mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql作为主存储,redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能。
目前基本都是mysql(主) + redis(辅),在需要性能的地方使用redis,在不需要高性能的地方使用mysql。
posted @ 2020-04-11 11:35  颓废不误流年  阅读(3789)  评论(0编辑  收藏  举报