zoukankan      html  css  js  c++  java
  • Redis集群之Jedis的使用

    maven依赖

    <!-- Redis客户端 -->
                <dependency>
                    <groupId>redis.clients</groupId>
                    <artifactId>jedis</artifactId>
                    <version>2.7.2</version>
                </dependency>

    集群:

    纯java模式:

    public void testJedisCluster()throws Exception {
            // 第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。
            Set<HostAndPort> nodes = new HashSet<>();//set无序但不重复
            nodes.add(new HostAndPort("192.168.25.128",7001));
            nodes.add(new HostAndPort("192.168.25.128",7002));
            nodes.add(new HostAndPort("192.168.25.128",7003));
            nodes.add(new HostAndPort("192.168.25.128",7004));
            nodes.add(new HostAndPort("192.168.25.128",7005));
            nodes.add(new HostAndPort("192.168.25.128",7006));
            JedisCluster jedisCluster = new JedisCluster(nodes);
            // 第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。
            jedisCluster.set("hello", "100");
            String result = jedisCluster.get("hello");
            // 第三步:打印结果
            System.out.println(result);
            // 第四步:系统关闭前,关闭JedisCluster对象。
            jedisCluster.close();
        }    

      1.创建nodes节点存储连接方式,nodesnodes是包含

       HostAndPort对象的set集合

      2.创建JedisCluster 的集群对象。

      JedisCluster jedisCluster = new JedisCluster(nodes);

     3.进行redis的相关操作
    4.关闭连接
    集群的xml配置版:
    <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
            <constructor-arg name="nodes">
                <set>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.128"></constructor-arg>
                        <constructor-arg name="port" value="7001"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.128"></constructor-arg>
                        <constructor-arg name="port" value="7002"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.128"></constructor-arg>
                        <constructor-arg name="port" value="7003"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.128"></constructor-arg>
                        <constructor-arg name="port" value="7004"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.128"></constructor-arg>
                        <constructor-arg name="port" value="7005"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.128"></constructor-arg>
                        <constructor-arg name="port" value="7006"></constructor-arg>
                    </bean>
                </set>
            </constructor-arg>
        </bean>
        <bean id="jedisClientCluster" class="com.lamsey.jedis.JedisClientCluster">
            <property name="jedisCluster" ref="jedisCluster"/>            
        </bean>
    
    
    
    对应的jedisCluster操作实现类JedisClientCluster
    
    
    public class JedisClientCluster implements JedisClient{
        private JedisCluster jedisCluster;
        
        public JedisCluster getJedisCluster() {
            return jedisCluster;
        }
    
        public void setJedisCluster(JedisCluster jedisCluster) {
            this.jedisCluster = jedisCluster;//bean通过proprety对其进行赋值,从而建立jedisCluster的实例
     } @Override public String set(String key, String value) { return jedisCluster.set(key, value); } @Override public String get(String key) { return jedisCluster.get(key); }
    ...........
    }
    
    
    


    单机版:

        public  void testJedis() throws Exception {
            // 第一步:创建一个Jedis对象。需要指定服务端的ip及端口。
            Jedis jedis = new Jedis("192.168.25.128", 7001);
            // 第二步:使用Jedis对象操作数据库,每个redis命令对应一个方法。
            jedis.set("hello", "12344");
            String result = jedis.get("hello");
            // 第三步:打印结果。
            System.out.println(result);
            // 第四步:关闭Jedis
            jedis.close();
        }
     
  • 相关阅读:
    如何实现Echart不刷新页面,多语言切换下的地图数据重新加载,api请求数据加载,soketed数据实时加载
    web开发中各种宽高
    http请求方式和传递数据类型
    Hexo之傻瓜攻略
    SQL2008 R2安装功能选择
    Windows Server2012 R2中安装SQL Server2008
    用户权限管理数据库设计
    C#生成缩略图 (通用模式)
    CAD习题集
    菜鸟学习MVC实录:弄清项目各类库的作用和用法
  • 原文地址:https://www.cnblogs.com/limingxian537423/p/7615397.html
Copyright © 2011-2022 走看看