效果

map存入redis redis存map数据_zookeeper

实现

 



public class JedisPoolUtil {
	
	/**
	 * 获取一个redis实例
	 * @param jedisConnectionFactory
	 * @return
	 */
	public static Jedis getJedis(JedisConnectionFactory jedisConnectionFactory){
		JedisPoolConfig config = jedisConnectionFactory.getPoolConfig();
		JedisPool jedisPool = new JedisPool(config,jedisConnectionFactory.getHostName(),jedisConnectionFactory.getPort());
		
		 Jedis jedis=null;
         try{
             jedis=jedisPool.getResource();
         }catch(Exception e){
             e.printStackTrace();
         }finally{
             if(jedis!=null){
                 jedis.close();
             }
             if(jedisPool!=null){
                 jedisPool.close();
             }
         }
         return jedis;
	}
	

}



  



<bean id="jedisConnectionFactory"
		class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
		destroy-method="destroy">
    <property name="hostName" value="${redis.conn.hostName}" />
    <property name="port" value="${redis.conn.port}" />
    <property name="timeout" value="${redis.conn.timeout}" />
    <property name="database" value="${redis.conn.database}" />
    <property name="password" value="${redis.conn.password}" />
    <property name="usePool" value="${redis.conn.usePool}" />
    <property name="poolConfig" ref="jedisPoolConfig" />
  </bean>

zookeeper注入



  



@Override
	public String getSiteCodeByName(String SiteNameShort) {
		List<BaseSiteDis> baseSites = baseSiteDao.getFomfSite();
		Jedis jedis = JedisPoolUtil.getJedis(jedisConnectionFactory);
		for (int i = 0; i < baseSites.size(); i++) {
			BaseSiteDis site = baseSites.get(i);
			String siteNameShort = site.getSiteNameShort();
			String siteStr = JSONObject.toJSONString(site);
			Map<String, String> map = new HashedMap<>();
			map.put(siteNameShort, siteStr);
			jedis.hmset("FOMF.BASESITE", map);
			jedis.expire("FOMF.BASESITE", 30);//设置时效实现 秒
		}
		return null;
	}