<pre name="code" class="java">java web如何结合redis?
**********第一步:安装redis到linux服务器.
因为redis依赖tcl,所以首先需要安装tcl.
将tcl8.5.10-src.tar.gz拷贝到/opt/tcl目录下执行如下指令:
iluckysi@ILUCKYSI-PC:~/tcl# tar -zxvf tcl8.5.10-src.tar.gz
iluckysi@ILUCKYSI-PC:~/tcl# cd tcl8.5.10/unix/
iluckysi@ILUCKYSI-PC:~/tcl/tcl8.5.10/unix# ./configure
iluckysi@ILUCKYSI-PC:~/tcl/tcl8.5.10/unix# make
iluckysi@ILUCKYSI-PC:~/tcl/tcl8.5.10/unix# make install
将redis-3.0.1.tar.gz拷贝到/opt/redis目录下执行如下指令:
iluckysi@ILUCKYSI-PC:~/redis# tar -zxvf redis-3.0.1.tar.gz
iluckysi@ILUCKYSI-PC:~/redis# cd redis-3.0.1
iluckysi@ILUCKYSI-PC:~/redis/redis-3.0.1# make
iluckysi@ILUCKYSI-PC:~/redis/redis-3.0.1# make test
iluckysi@ILUCKYSI-PC:~/redis/redis-3.0.1# make install
**********第二步:启动redis.
注意:默认情况下redis编译时会将redis-server等命令拷贝至/usr/local/bin目录下.
同时,redis启动默认是在前台,可以通过修改如下配置文件将redis启动模式改为后台.
iluckysi@ILUCKYSI-PC:~/redis/redis-3.0.1# vi redis.conf
将daemonize no修改为daemonize yes表示启动后在后台运行.
启动redis需要指定配置文件,如下:
iluckysi@ILUCKYSI-PC:/usr/local/bin# ./redis-server /opt/redis/redis-3.0.1/redis.conf
iluckysi@ILUCKYSI-PC:/usr/local/bin# ps -ef | grep redis
root 5968 1 0 10:41 ? 00:00:00 ./redis-server *:6379
root 5972 5820 0 10:41 pts/1 00:00:00 grep redis
iluckysi@ILUCKYSI-PC:/usr/local/bin#
**********第三步:停止redis.
iluckysi@ILUCKYSI-PC:/usr/local/bin# redis-cli -h 192.168.1.3 -p 6379 shutdown
iluckysi@ILUCKYSI-PC:/usr/local/bin# ps -ef | grep redis
root 4799 4658 0 19:53 pts/1 00:00:00 grep redis
**********第四步:连接redis.
iluckysi@ILUCKYSI-PC:/usr/local/bin# redis-cli -h 192.168.1.3 -p 6379
192.168.1.3:6379> set username IS
OK
192.168.1.3:6379> get username
"IS"
192.168.1.3:6379>
**********第五步:创建java项目,引入jedis2.7.2.jar.
马上开启你的redis学习之旅吧!
public class Test {
private static Jedis jedis = null;
public static void main(String[] args) {
jedis = new Jedis("192.168.1.3");
jedis.set("username", "IluckySi");
System.out.println(jedis.get("username")); //IluckySi
}
}
Jedis提供了多种操作方式:单机单连接方式,单机连接池方式,多机分布式+连接池方式.
单机单连接方式一般用于测试,单机连接池方式一般用于小系统,
对于规模较大的系统,通常用多机分布式+连接池方式,
并且还会实现主从备份,即当主实例发生故障时,切换至从实例提供服务.
知识补充:分布式和集群的概念.
分布式是指将不同的业务分布在不同的服务器.
而集群指的是几台服务器实现同一业务.
另外,分布式中的每一个节点都可以做集群.
例如新浪网,如果访问的人多了,可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,
如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就交给哪一台服务器去完成.
如果集群中的一台服务器垮了,不会影响业务,因为会有集群下的其他服务器顶上来.
但是,如果分布式中的某个节点垮了,并且这个节点没有做集群,那这个业务就挂了.
**********第六步:主从备份.
例如IP1和IP2都安装了redis,端口分别是6379和6380.
如果想配置IP1为主备份,IP2为从备份,配置过程如下:
在IP2的redis.conf配置文件中添加slaveof IP1 6379,即IP2为IP1的从.
注意:默认情况下从redis不支持写操作,只支持读操作,看如下操作:
主redis:
IP1:6379> get "username" 第一步
"IluckySi"
IP1:6379> set "username" "test" 第四步
OK
IP1:6379> get "username" 第五步
"test"
IP1:6379>
从redis:
IP2:6380> get "username" 第二步
"IluckySi"
IP2:6380> set "username" "test" 第三步
(error) READONLY You can't write against a read only slave.
IP2:6380> get "username" 第六步
"test"
42.121.91.238:6380>
通过如上测试,我们的redis主从备份配置生效了.
主从之间切换可以参考此篇博客:http://blog.sina.com.cn/s/blog_67196ddc0101h8v0.html
**********第七步:web应用.
搁置。。。。。。。。。。以后项目真正用redis的时候再加上此步骤。。。。。。。。。。
**********第八步:集群.
搁置。。。。。。。。。。以后项目真正用redis的时候再加上此步骤。。。。。。。。。。
**********第九步:分布式.
搁置。。。。。。。。。。以后项目真正用redis的时候再加上此步骤。。。。。。。。。。
重点:w3cschool学习.