[Java] Redis分布式缓存安装和使用 →→→→→进入此内容的聊天室

来自 , 2021-02-02, 写在 Java, 查看 156 次.
URL http://www.code666.cn/view/962e56a8
  1. 独立缓存服务器: LinuxCentOS
  2.  
  3. Redis版本: 3.0
  4.  
  5. 下面我们针对于Redis安装做下详细的记录:
  6.  
  7. 编译和安装所需的包:
  8.  
  9. #yum install gcc tcl创建安装目录:
  10.  
  11. #mkdir /usr/local/redis
  12.  
  13. 解压:
  14.  
  15. #tar -zxvf 3.xx.tar.gz
  16.  
  17. #mv redis-3.xx redis3.0
  18.  
  19. #cd redis3.0安装(使用PREFIX指定安装目录)
  20.  
  21. #make PREFIX=/usr/local/redis install
  22.  
  23. 安装完成后,可以看到/usr/local/redis目录下有一个bin目录,bin目录里就是redis的命令脚本:
  24.  
  25. redis-benchmark redis-check-aof redis-check-dumpredis-cli redis-server
  26.  
  27. 将Redis配置成服务:
  28.  
  29. 按上面的操作步骤,Redis的启动脚本为:/usr/local/src/redis3.0/utils/redis_init_script
  30.  
  31. 将启动脚本复制到/etc/rc.d/init.d/目录下,并命名为redis
  32.  
  33. #cp /usr/local/src/redis3.0/utils/redis_init_script/etc/rc.d/init.d/redis编辑/etc/rc.d/init.d/redis,修改相应配置,使之能注册成为服务:
  34.  
  35. #vi/etc/rc.d/init.d/redis
  36.  
  37. #!/bin/sh
  38.  
  39. #
  40.  
  41. # Simple Redis init.d script conceived to work on Linux systems
  42.  
  43. # as it does use of the /proc filesystem.
  44.  
  45. REDISPORT=6379
  46.  
  47. EXEC=/usr/local/bin/redis-server
  48.  
  49. CLIEXEC=/usr/local/bin/redis-cli
  50.  
  51. PIDFILE=/var/run/redis_${REDISPORT}.pid
  52.  
  53. CONF="/etc/redis/${REDISPORT}.conf"
  54.  
  55. case "$1" in
  56.  
  57. start)
  58.  
  59. if [ -f $PIDFILE ]
  60.  
  61. then
  62.  
  63. echo "$PIDFILE exists, process is already running or crashed"
  64.  
  65. else
  66.  
  67. echo "Starting Redis server..."
  68.  
  69. $EXEC $CONF
  70.  
  71. fi
  72.  
  73. ;;
  74.  
  75. stop)
  76.  
  77. if [ ! -f $PIDFILE ]
  78.  
  79. then
  80.  
  81. echo "$PIDFILE does not exist, process is not running"
  82.  
  83. else
  84.  
  85. PID=$(cat $PIDFILE)
  86.  
  87. echo "Stopping ..."
  88.  
  89. $CLIEXEC -p $REDISPORT shutdown
  90.  
  91. while [ -x /proc/${PID} ]
  92.  
  93. do
  94.  
  95. echo "Waiting for Redis to shutdown ..."
  96.  
  97. sleep 1
  98.  
  99. done
  100.  
  101. echo "Redis stopped"
  102.  
  103. fi
  104.  
  105. ;;
  106.  
  107. *)
  108.  
  109. echo "Please use start or stop as first argument"
  110.  
  111. ;;
  112.  
  113. esac
  114.  
  115. 查看以上redis服务脚本,关注标为橙色的几个属性,做如下几个修改的准备:
  116.  
  117. (1)在脚本的第一行后面添加一行内容如下:
  118.  
  119. #chkconfig: 2345 80 90
  120.  
  121. 提醒:如果不添加上面的内容,在注册服务时会提示:service redis does not support chkconfig
  122.  
  123. (2)REDISPORT端口保持6379不变;(特别注意:端口名将与下面的配置文件名有关)
  124.  
  125. (3)EXEC=/usr/local/bin/redis-server改为EXEC=/usr/local/redis/bin/redis-server
  126.  
  127. (4)CLIEXEC=/usr/local/bin/redis-cli改为CLIEXEC=/usr/local/redis/bin/redis-cli
  128.  
  129. (5)配置文件设置:
  130.  
  131. 创建redis配置文件目录
  132.  
  133. #mkdir /usr/local/redis/conf
  134.  
  135. 复制redis配置文件/usr/local/src/redis3.0/redis.conf/usr/local/redis/conf目录并按端口号重命名为6379.conf
  136.  
  137. #cp /usr/local/src/redis3.0/redis.conf/usr/local/redis/conf/6379.conf
  138.  
  139. 做了以上准备后,再对CONF属性作如下调整:
  140.  
  141. CONF="/etc/redis/${REDISPORT}.conf"改为CONF="/usr/local/redis/conf/${REDISPORT}.conf"
  142.  
  143. (6)更改redis开启的命令,以后台运行的方式执行:
  144.  
  145. $EXEC $CONF&#“&”作用是将服务转到后面运行
  146.  
  147. 修改后的/etc/rc.d/init.d/redis服务脚本内容为:
  148.  
  149. #!/bin/sh
  150.  
  151. #chkconfig: 2345 80 90
  152.  
  153. #
  154.  
  155. # Simple Redis init.d script conceived to work on Linux systems
  156.  
  157. # as it does use of the /proc filesystem.
  158.  
  159. REDISPORT=6379
  160.  
  161. EXEC=/usr/local/redis/bin/redis-server
  162.  
  163. CLIEXEC=/usr/local/redis/bin/redis-cli
  164.  
  165. PIDFILE=/var/run/redis_${REDISPORT}.pid
  166.  
  167. CONF="/usr/local/redis/conf/${REDISPORT}.conf"
  168.  
  169. case "$1" in
  170.  
  171. start)
  172.  
  173. if [ -f $PIDFILE ]
  174.  
  175. then
  176.  
  177. echo "$PIDFILE exists, process is already running or crashed"
  178.  
  179. else
  180.  
  181. echo "Starting Redis server..."
  182.  
  183. $EXEC $CONF&
  184.  
  185. fi
  186.  
  187. ;;
  188.  
  189. stop)
  190.  
  191. if [ ! -f $PIDFILE ]
  192.  
  193. then
  194.  
  195. echo "$PIDFILE does not exist, process is not running"
  196.  
  197. else
  198.  
  199. PID=$(cat $PIDFILE)
  200.  
  201. echo "Stopping ..."
  202.  
  203. $CLIEXEC -p $REDISPORT shutdown
  204.  
  205. while [ -x /proc/${PID} ]
  206.  
  207. do
  208.  
  209. echo "Waiting for Redis to shutdown ..."
  210.  
  211. sleep 1
  212.  
  213. done
  214.  
  215. echo "Redis stopped"
  216.  
  217. fi
  218.  
  219. ;;
  220.  
  221. *)
  222.  
  223. echo "Please use start or stop as first argument"
  224.  
  225. ;;
  226.  
  227. esac
  228.  
  229. 以上配置操作完成后,便可将Redis注册成为服务:
  230.  
  231. #chkconfig --add redis
  232.  
  233. 防火墙中打开对应的端口
  234.  
  235. #vi /etc/sysconfig/iptables
  236.  
  237. 添加:
  238.  
  239. -A INPUT -m state --state NEW -m tcp -p tcp --dport6379 -j ACCEPT
  240.  
  241. 重启防火墙:
  242.  
  243. #service iptables restart
  244.  
  245. 修改redis配置文件设置:
  246.  
  247. #vi /usr/local/redis/conf/6379.conf
  248.  
  249. 修改如下配置
  250.  
  251. daemonizeno改为daemonizeyes
  252.  
  253. 备注:如果不改为yes,pid文件是不会生成,start、stop命令是不会生效的(依赖pid文件)
  254.  
  255. pidfile /var/run/redis.pid改为pidfile /var/run/redis_6379.pid
  256.  
  257. 启动Redis服务
  258.  
  259. #service redis start
  260.  
  261. 将Redis添加到环境变量中:
  262.  
  263. #vi /etc/profile
  264.  
  265. 在最后添加以下内容:
  266.  
  267. ## Redis env
  268.  
  269. export PATH=$PATH:/usr/local/redis/bin
  270.  
  271. 使配置生效:
  272.  
  273. #source /etc/profile
  274.  
  275. 当前可以直接使用redis-cli等redis命令了:
  276.  
  277. #redis-cli
  278.  
  279.  
  280. 关闭Redis服务
  281.  
  282. #service redis stop提醒:默认情况下,Redis开启安全认证,可以通过/usr/local/redis/conf/6379.conf的requirepass指定一个验证密码
  283.  
  284. 在jeesz中主要使用redis做分布式缓存,存储登录用户信息,做session共享管理
  285.  
  286.  

回复 "Redis分布式缓存安装和使用"

这儿你可以回复上面这条便签

captcha