Redis 是在CentOS 5.7上学习入门&win10安装windows版Redis
Redis 是在CentOS 5.7上学习入门&win10安装windows版Redis
~~~~~~~~~~~~~~~~~~~
windows环境下redis设置密码和修改端口教程:在windows环境下启动redis服务,前提是你安装好了,启动如下:
一,进入redis的安装目录下,在地址栏输入“cmd”, redis-server.exe redis.windows.conf --maxmemory 200M 启动redis服务(window系统)
二,然后会进入cmd界面,直接运行命令redis-server.exe redis.windows.conf。如果报错,依次执行第一条指令:redis-cli.exe,第二条指令:shutdown第三条指令:exit 启动redis服务(window系统)
三,在命令行窗口输入redis-server.exe redis.windows.conf,就会显示Redis服务器的信息,就代表Redis服务器已经启动了。
~~~~~~~~~~~~~~~~~~~
win10开启服务端命令:redis-server.exe redis.windows.conf
win10开启客户端命令:redis-cli.exe -h 127.0.0.1(目标IP) -p 6379(默认端口号,不建议修改)
redis-server.exe redis.windows.conf --maxmemory 200M
redis-server.exe --service-install redis.windows.conf --loglevel verbose
redis-cli.exe -h 127.0.0.1 -p 6379
~~~~~~~~~~~~~~~~~~~
Rdis和JQuery一样是纯粹为应用而产生的,这里记录:
1.Redis简介
Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
2.Redis的性能
下面是官方的bench-mark数据:
- The test was done with 50 simultaneous clients performing 100000 requests.
- The value SET and GET is a 256 bytes string.
- The Linux box is running Linux 2.6, it’s Xeon X3320 2.5Ghz.
- Text executed using the loopback interface (127.0.0.1).
Results: about 110000 SETs per second, about 81000 GETs per second.
更多详细数据请见官方bench-mark page(http://code.google.com/p/redis/wiki/Benchmarks)
3.安装Redis
Redis的代码遵循ANSI-C编写,可以在所有POSIX系统(如Linux, *BSD, Mac OS X, Solaris等)上安装运行。而且Redis并不依赖任何非标准库,也没有编译参数必需添加。redis的安装出奇的简单,这可能也是他风靡的一个原因,让人很容易上手,不像某些东西,编译阶段就能让人完全绝望。
先去官网下载源码:
wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz
解压:
tar –zxvf redis-2.4.6.tar.gz
编译
需要说明的事,redis的安装非常简单,已经有现成的Makefile文件,直接运行make命令即可。
make
make install
Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:
- redis-server:Redis服务器的daemon启动程序
- redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
- redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
- redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
现在就可以启动redis了,redis只有一个启动参数,就是他的配置文件路径。
redis-server /etc/redis.conf
注意,默认复制过去的redis.conf文件的daemonize参数为no,所以redis不会在后台运行,这时要测试,我们需要重新开一个终端。修改为yes则为后台运行redis。另外配置文件中规定了pid文件,log文件和数据文件的地址,如果有需要先修改,默认log信息定向到stdout.
下面是redis.conf的主要配置参数的意义:
- daemonize:是否以后台daemon方式运行
- pidfile:pid文件位置
- port:监听的端口号
- timeout:请求超时时间
- loglevel:log信息级别
- logfile:log文件位置
- databases:开启数据库的数量
- save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
- rdbcompression:是否使用压缩
- dbfilename:数据快照文件名(只是文件名,不包括目录)
- dir:数据快照的保存目录(这个是目录)
- appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
- appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
这时你可以打开一个终端进行测试了,配置文件中默认的监听端口是6379
我们可以开启一个Redis客户端进行测试
[root@SNDA-192-168-1-114 ~]# redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> exit
[root@SNDA-192-168-1-114 ~]# redis-server /etc/redis.conf
[root@SNDA-192-168-1-114 ~]# redis-cli
redis 127.0.0.1:6379> quit
4.redis数据结构
redis 的作者antirez曾称其为一个数据结构服务器(data structures server),这是一个非常准确的表述,redis的所有功能就是将数据以其固有的几种结构保存,并提供给用户操作这几种结构的接口。我们可以想象我们在各种语言中的那些固有数据类型及其操作。
redis目前提供四种数据类型:string,list,set及zset(sorted set)和Hash。
- string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富。
- list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。
- set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。
- zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。
- Hash数据类型允许用户用Redis存储对象类型,Hash数据类型的一个重要优点是,当你存储的数据对象只有很少几个key值时,数据存储的内存消耗会很小.更多关于Hash数据类型的说明请见: http://code.google.com/p/redis/wiki/Hashes
在官网上给出了所有支持的接口列表,并副副附有详细的介绍,地址:
http://code.google.com/p/redis/wiki/CommandReference
另外,作者还提供了一个非常贴心的web命令行模拟页面,供初学者试用redis,地址:
5.redis数据存储
redis的存储分为内存存储、磁盘存储和log文件三部分,配置文件中有三个参数对其进行配置。
save seconds updates,save配置,指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。这个可以多个条件配合,比如默认配置文件中的设置,就设置了三个条件。
appendonly yes/no ,appendonly配置,指出是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面的save条件来同步的,所以有的数据会在一段时间内只存在于内存中。
appendfsync no/always/everysec ,appendfsync配置,no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次。
6.redis主从配置
redis支持master-slave的主从配置,配置方法是在从机的配置文件中指定slaveof参数为主机的ip和port即可
7.redis起步(链接整理)
项目首页,下方是各种语言支持列表:
http://code.google.com/p/redis/
作者在wiki中给出了一个非常好的例子,以使我们可以快速上手,地址:
http://code.google.com/p/redis/wiki/TwitterAlikeExample
同时作者推荐的另一个教程,地址:
http://labs.alcacoop.it/doku.php?id=articles:redis_land
一个redis爱好者创建的相关问题讨论网站:
为什么使用 Redis及其产品定位
http://www.infoq.com/cn/articles/tq-why-choose-redis
Redis内存使用优化与存储
http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage
win10安装windows版Redis
【下载Redis】
windows版Redis下载:https://github.com/tporadowski/redis/releases
当前最新版 5.0.14,下载 Redis-x64-5.0.14.ms 或 Redis-x64-5.0.14.zip ,
使用msi文件安装 |
【将Redis安装成windows服务】
安装成windows服务可以开机启动。
双击【Redis-x64-5.0.14.msi】运行安装,选择安装路径,安装路径最好不要带空格,避免可能出现不可预知的错误,
勾选将redis安装信息添加到环境变量,安装过程在对话框中输入最大内存数为4096MB,表示最大4GB。
一直Next下去安装。
安装完成后修改redis配置文件,
打开redis安装目录下的windows服务版配置文件【D:\ProgramFiles\Redis\redis.windows-service.conf】,
修改以下配置:
#bind 127.0.0.1 #注释掉这一句,使redis可以外部访问 port 6379 #默认端口,可以改成别的端口 protected-mode yes #修改为yes,开启保护模式,默认是yes #daemonize no #这一句是注释的,windows版本不支持,默认是no requirepass 123456 #密码 appendonly yes #aof持久化,默认是no
重启redis服务使修改生效,安装完成。
使用zip文件安装 |
【用cmd命令行方式启动Redis并部署成windows服务】
如果不需要开机启动,可以通过cmd命令行方式启动临时Redis。
解压【redis-x64-5.0.14.zip】,进到解压目录,
打开cmd窗口,进入redis-x64-5.0.14文件夹,执行命令:
redis-server.exe redis.windows.conf #指定配置文件启动 或者 redis-server.exe #用默认的配置启动
如果要更改成其它端口启动、配置持久化、配置保护模式,请参考上面的配置。
【查看Redis服务器与客户端版本】
#查看服务器版本 redis-server -v redis-server --version #查看客户端版本 redis-cli -v redis-cli --version
【测试redis】
打开另一个cmd窗口,原来的不要关闭,不然就无法连接redis服务端了,
进到redis解压目录:
redis-cli -h 127.0.0.1 -p 16379 #连接redis服务器 auth 123456 #密码验证 ping #验证是否通 set key1 v1 #设置键值 get key1 v1 #获取值
【部署成windows服务】
启动的临时redisd服务,当关掉cmd服务端窗口后,redis就关掉了,为了持久的运行reids,可以部署成widnows服务。
#安装服务 redis-server.exe --service-install redis.windows.conf #启动服务 redis-server --service-start
Redis successfuly installed as a service 表示redis服务安装成功。
部署成服务后,此时redis服务还未启动,需要手工启动。
【常用的redis服务命令】
安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose
说明:--loglevel verbose表示日志级别为详细
卸载服务:redis-server --service-uninstall --service-name 服务名
开启服务:redis-server --service-start --service-name 服务名
停止服务:redis-server --service-stop --service-name 服务名
卸载默认服务:redis-server --service-uninstall
开启默服务:redis-server --service-start
停止默服务:redis-server --service-stop
同一台电脑安装多个Redis服务器实例:
redis-server --service-install redis.windows.conf --service-name redisService1 --port 16379 redis-server --service-start --service-name redisService1 redis-server --service-install --service-name redisService2 --port 26379 redis-server --service-start --service-name redisService2 redis-server --service-install --service-name redisService3 --port 36379 redis-server --service-start --service-name redisService3
【Redis桌面管理工具】
Redis桌面管理工具下载:Redis Desktop Manager https://redisdesktop.com/download
31. [Redis配置密码,找到 redis.windows.conf 配置文件]
# Require clients to issue AUTH <PASSWORD> before processing any other
# commands. This might be useful in environments in which you do not trust
# others with access to the host running redis-server.
#
# This should stay commented out for backward compatibility and because most
# people do not need auth (e.g. they run their own servers).
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
#这里配置密码,密码root(fhadmin)
requirepass root
# Command renaming.
#
# It is possible to change the name of dangerous commands in a shared
# environment. For instance the CONFIG command may be renamed into something
# hard to guess so that it will still be available for internal-use tools
# but not available for general clients.
32.制作启动脚本。用写字本编辑后,保存为bat格式
redis-server.exe redis.windows.conf
33. java springboot 链接 redis
#===========Redis配置====fhadmin.org=======
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=root
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=200
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=10
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=2000ms
spring.redis.jedis.pool.max-wait=-1ms
#===========Redis配置====fhadmin.org=======
【Redis】Redis windows绿色解压版安装及测试
1.下载
下载地址是 https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100 ,我选择的是Redis-x64-3.2.100.zip 版本。这里也有一个本地版本供下载https://files.cnblogs.com/files/heyang78/Redis-x64-3.2.100.zip
2.配置
下载解压到 C:\Install\Redis-x64-3.2.100 后,就可以用管理员身份打开一个cmd窗口进行配置:
C:\Windows\system32>cd C:\Install\Redis-x64-3.2.100 C:\Install\Redis-x64-3.2.100>dir 驱动器 C 中的卷没有标签。 卷的序列号是 C4D6-B869 C:\Install\Redis-x64-3.2.100 的目录 2020/01/04 07:51 <DIR> . 2020/01/04 07:51 <DIR> .. 2016/07/01 16:27 1,024 EventLog.dll 2016/07/01 16:07 12,509 Redis on Windows Release Notes.docx 2016/07/01 16:07 16,727 Redis on Windows.docx 2016/07/01 16:28 409,088 redis-benchmark.exe 2016/07/01 16:28 4,370,432 redis-benchmark.pdb 2016/07/01 16:28 257,024 redis-check-aof.exe 2016/07/01 16:28 3,518,464 redis-check-aof.pdb 2016/07/01 16:28 499,712 redis-cli.exe 2016/07/01 16:28 4,526,080 redis-cli.pdb 2016/07/01 16:28 1,666,560 redis-server.exe 2016/07/01 16:28 7,081,984 redis-server.pdb 2016/07/01 16:07 48,212 redis.windows-service.conf 2016/07/01 16:07 48,201 redis.windows.conf 2016/07/01 09:17 14,265 Windows Service Documentation.docx 14 个文件 22,470,282 字节 2 个目录 455,254,519,808 可用字节 C:\Install\Redis-x64-3.2.100>redis-server.exe --service-install redis.windows.conf --loglevel verbose [5008] 04 Jan 07:52:24.881 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "C:\Install\Redis-x64-3.2.100" "C:\Install\Redis-x64-3.2.100\" [5008] 04 Jan 07:52:24.881 # Redis successfully installed as a service. C:\Install\Redis-x64-3.2.100>redis-server.exe --service-start [10732] 04 Jan 07:52:53.240 # Redis service successfully started. C:\Install\Redis-x64-3.2.100>redis-server.exe --service-stop [6908] 04 Jan 07:53:02.052 # Redis service successfully stopped. C:\Install\Redis-x64-3.2.100>redis-server.exe --service-start [9972] 04 Jan 07:53:07.287 # Redis service successfully started. C:\Install\Redis-x64-3.2.100>
上述红色字是执行的命令,
redis-server.exe --service-install redis.windows.conf --loglevel verbose 是注册服务,
redis-server.exe --service-start 是启动redis,
redis-server.exe --service-stop 是停止redis。
3.测试
另起一个cmd窗口,还是进入 C:\Install\Redis-x64-3.2.100目录,执行以下命令以测试:
C:\Users\ufo>cd C:\Install\Redis-x64-3.2.100 C:\Install\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379 127.0.0.1:6379> set uname "ufo" OK 127.0.0.1:6379> get uname "ufo" 127.0.0.1:6379> exit C:\Install\Redis-x64-3.2.100>
上述蓝色字体已经显示redis已正常运行。
4.外连设置
我此回安装redis的目的是要让它作为tomcat集群的session共享器,因此还要进行一下外连配置。
用文本编辑器打开redis.windows.conf,将 bind 127.0.0.1 一行 屏蔽掉
# bind 127.0.0.1
并查找 requirepass,我找到的是“# requirepass foobared”,然后放开屏蔽并给填上自己的密码ufo
requirepass ufo
这样,就完成了。
设上密码后,登录多了一步auth ufo,详情如下:
C:\Install\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth ufo OK 127.0.0.1:6379> get username (nil) 127.0.0.1:6379> set username 'haha' OK 127.0.0.1:6379> get username "haha" 127.0.0.1:6379>