redis安装、配置、使用

1、先到Redis官网(redis.io)下载redis安装包

或者直接使用命令下载:wget http://download.redis.io/redis-stable.tar.gz

2、将其下载到我的/opt目录下

3、解压并进入其目录

cd /opt

tar -zxvf redis-5.0.4.tar.gz

cd redis-5.0.4

4、编译源程序

make 

cd src

make install PREFIX=/usr/local/redis

注:若make编译失败,则查看linux系统缺少的组件,先安装对应组件后,然后删除redis-5.0.4目录,再重新从第3步开始执行。

5、将配置文件移动到redis目录

mv redis.conf /usr/local/redis/

6、启动redis服务与停止

(如果指定端口则在执行时加-p 6379,如果指定密码,则加-a 123456.如./redis-cli -p 6379 -a 123456 shutdown)

cd /usr/local/redis/bin

启动redis服务命令:./redis-server /usr/local/redis/redis.conf

默认情况,Redis不是在后台运行,我们需要把redis放在后台运行

此时可以直接ctrl+c命令终结进程,但是如果设置了后台守护线程后,就需要执行命令来停止了。

停止redis服务命令:./redis-cli shutdown

7、redis可运行最基础设置修改

1)daemonize的值改为yes

2)requirepass的值改为(自己的密码)

3)protected-mode的值改为no

4)bind 127.0.0.1注释

5)maxmemory (具体大小,如5G)

6)maxmemory-policy volatile-lru

linux命令行修改redis.conf文件命令:

如果进行vim操作,主要是这几个命令:

vim /usr/local/redis/redis.conf

i:进入编辑模式。

esc:退出编辑模式,进入浏览模式(进入vim编辑器,默认就是浏览模式)。

:wq:保存修改并退出vim编辑器。

重新执行启动命令:./redis-server /usr/local/redis/redis.conf

8、客户端连接命令

./redis-cli [-p port] [-a password] 

9、设置redis开机自启

/etc/rc.local文件加入/usr/local/redis/bin/redis-server /usr/local/redis/redis-conf

10,工具介绍:

redis-benchmark:redis性能测试工具

redis-check-aof:检查aof日志的工具

redis-check-rdb:检查rdb日志的工具

redis-cli:连接用的客户端

redis-server:redis服务进程

如:

性能检测命令:redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000  #1000个并发连接,100000个请求,测试127.0.0.1端口为6379的redis服务器性能

aof修复命令:redis-check-aof --fix appendonlly.aof

rdb修复命令:redis-check-rdb--fix dump.rdb

11、config配置

a)重要配置:

daemonize yes #指定Redis以守护进程的方式运行。

requirepass 123456 #设置Redis连接密码为123456。默认关闭(即注释此配置)。

port 6379 #指定监听端口,默认端口为6379。

bind 127.0.0.1 #绑定的主机IP地址为本地。可以指定为具体局域网IP或者关闭此设置。

maxmemory 5GB #设定redis最大使用内存为5G,值要小于物理内存,必须设置

maxmemory-policy noeviction 达到最大内存时的淘汰策略:

内存淘汰策略:
volatile-lru -> 使用 LRU 算法移除包含过期设置的 key 。
allkeys-lru -> 根据 LRU 算法移除所有的 key 。
volatile-random -> 随机移除一个包含过期设置的key。
allkeys-random -> 随机移除任意一个key。
volatile-ttl -> 移除最接近国其时间的key (minor TTL)。
noeviction -> 不让任何 key 过期,只是给写入操作返回一个错误。

b)基本配置

loglevel notice #设置日志级别,支持四个级别:debug、notice、verbose、warning。生产环境下一般开启notice

logfile "/usr/local/redis/log/redis.log"  #配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 .可以指定日志文件路径

pidfile /var/run/redis_6379.pid   #当Redis以守护进程方式运行时,把pid写入指定的文件。

timeout 300 #客户端超时设置,单位为秒

databases 16 #设置数据库的数量。默认是使用第0个数据库。如果需要使用其他数据库,则使用select <dbid> 命令进行切换。

maxclients 10000 #设置最大客户端连接数,0和默认为无限制。达到此数目后,会关闭新连接并返回错误。

c)备份配置

1)快照类型rdb

Save #redis持久化的频率,可以全部注释表示不写入,也可以设置。Redis默认配置文件中提供了三个条件:

save 900 1

save 300 10

save 60 10000 #分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改的时候,同步数据到磁盘文件,即生成快照rdb文件。

rdbcompression yes #指定存储至本地数据库时是否压缩数据,默认为yes。

dbfilename dump.rdb #指定本地数据库文件名。

dir /usr/local/redis/data/ #指定本地数据库存放目录。

2)实时记录写操作aof

appendonly yes  #开启日志记录,相当于MySQL的binlog,注,redis启动时会自动加载aof文件,生成缓存。

appendfilename "appendonly.aof"   #日志文件名,注意:不是目录路径

appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式。若为no则表示不自动写入。若为always表示每次写命令时进行同步。若为everysec表示每秒执行同步。

d)主从同步设置

replicaof <masterip> <masterport> #设置该数据库为其他数据库的从数据库

masterauth <master-password> #当主数据库连接需要密码验证时,在这里设定

replica-serve-stale-data yes #如果此库作为从库,与主库断开连接或者正在执行复制,这时客户端来请求时,yes为继续服务,使用当前旧数据,no为拒绝服务,并返回错误。

replica-read-only yes #作为从库时只读

replica-priority 100 #当部署了集群,master不能工作时,会自动从从库选出一个作为master,越小优先级越高,为0排除在选中之外。

repl-diskless-sync no #

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一.环境变量配置 ; 定义系统环境变量的 注册表key值 !define WriteEnvStr_RegKey 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' ;设置环境变量 Function "regExpandStr" SetOverwrite ifnewer ;设置jdk环境变量 WriteRegExpandStr ${WriteEnvStr_RegKey} "JAVA_HOME" "$INSTDIR\jdk1.8.0_131" ;设置CATALINA_DIR WriteRegExpandStr ${WriteEnvStr_RegKey} "CATALINA_DIR" "$INSTDIR\tomcat\bin" ;设置CATA_LINA WriteRegExpandStr ${WriteEnvStr_RegKey} "CATA_LINA" "$INSTDIR\tomcat" ;设置path ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$0;C:\windows\system32;$INSTDIR\redis;$INSTDIR\mysql\bin;$INSTDIR\Java\jdk1.8.0_131\bin;" #第一次是使环境变量修改对其他进程有效;刷新环境变量 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 SetOverwrite on functionend ;注册服务 Function "installService" detailprint "------------------------------------install tomcat Service..." Sleep 2000 SetOutPath "$INSTDIR\tomcat\bin" nsExec::Exec 'cmd /c service install' nsExec::Exec 'cmd /c sc config tomcat8 start= auto' ;设置服务自动开启 detailprint "------------------------------------install tomcat Service success..." detailprint "install mysql Service..." Sleep 2000 SetOutPath "$INSTDIR\mysql\bin" nsExec::Exec 'cmd /c $INSTDIR\mysql\bin\mysqld.exe" -install Mysql --defaults-file="$INSTDIR\\mysql\\my.ini' detailprint "install mysql Service success..." detailprint "------------------------------------install redis Service..." Sleep 2000 SetOutPath "$INSTDIR\redis" nsExec::Exec 'cmd /c redis-server --service-install redis.windows.conf' detailprint "install redis Service success..." functionend ; 启动服务 Function "startService" detailprint "------------------------------------start tomcat..." nsExec::Exec 'cmd /c sc start Tomcat8' detailprint "------------------------------------start tomcat success..." detailprint "------------------------------------start mysql..." nsExec::Exec 'cmd /c sc start mysql' detailprint "------------------------------------start MySQL success..." detailprint "------------------------------------start redis..." ;nsExec::Exec 'cmd /c sc redis-server --service-start --service-name redis' detailprint "------------------------------------start redis success..." functionend ;停止服务 Function "un.stopService" detailprint "正在停止tomcat服务......." nsExec::Exec 'cmd /c sc stop tomcat8' detailprint "停止tomcat服务成功......." detailprint "正在停止mysql服务......." nsExec::Exec 'cmd /c sc stop mysql' detailprint "停止mysql服务成功......." detailprint "正在停止redis服务......." nsExec::Exec 'cmd /c sc redis-server --service-stop --service-name redis' detailprint "停止redis服务成功......." functionend ;删除服务 Function "un.uninstService" detailprint "正在卸载tomcat服务......." nsExec::Exec 'cmd /c sc delete tomcat8' detailprint "卸载tomcat服务成功......." detailprint "正在卸载mysql服务......." nsExec::Exec 'cmd /c sc delete mysql' detailprint "卸载mysql服务成功......." detailprint "正在卸载redis服务......." nsExec::Exec 'cmd /c sc delete redis' detailprint "卸载redis服务成功......." functionend ;清空环境变量 Function "un.emptyRegExpandStr" #删除 系统环境变量JAVA_HOME 和 CATALINA_HOME #卸载的时候必须设置JAVA_HOME 和 CATALINA_HOME两个环境系统变量为空,或者删除这两个系统变量。否则会出现NSIS选择系统变量的错误(NSIS会自动选择之前有值的系统变量,而不是选择当前刚设置的系统变量) detailprint "正在删除相关环境变量......." functionend 二.校验mac地址 #序列号 校验页面 Page custom check_serial_number Var "MacAddress" Function check_serial_number Call .GetMacAddress #MessageBox MB_OK '当前机器Mac地址为:$MacAddress' ${if} $MacAddress == '00-50-56-C0-00-08' ${OrIf} $MacAddress == '00-50-56-C0-00-081' #MessageBox MB_OK '已授权' ${Else} MessageBox MB_OK '未授权,请联系经销商并授权!' ;SendMessage $HWNDPARENT 0x408 3 0 #页面跳转 Call onClickClose ${EndIf} FunctionEnd #获取主机MAC地址 Function .GetMacAddress System::Call Iphlpapi::GetAdaptersInfo(i,*i.r0) System::Alloc $0 Pop $1 System::Call Iphlpapi::GetAdaptersInfo(ir1r2,*ir0)i.r0 StrCmp $0 0 0 finish loop: StrCmp $2 0 finish System::Call '*$2(i.r2,i,&t260;.s,&t132;.s,i.r5)i.r0' ;Unicode版将t改为m IntOp $3 403 + $5 StrCpy $6 "" ${For} $4 404 $3 IntOp $7 $0 + $4 System::Call '*$7(&i1;.r7)' IntFmt $7 "X" $7 StrCpy $6 "$6$7" StrCmp $4 $3 +2 StrCpy $6 "$6-" ${Next} StrCpy $MacAddress $6 Goto loop finish: System::Free $1 FunctionEnd 三.关闭按钮功能 ;点击右上角关闭按钮 Function onClickClose FindProcDLL::FindProc "${PRODUCT_NAME}.exe" Sleep 500 Pop $R0 ${If} $R0 != 0 KillProcDLL::KillProc "${PRODUCT_NAME}.exe" ${EndIf} FunctionEnd

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值