当前位置: 首页 > news >正文

免费网站知乎/seo在哪学

免费网站知乎,seo在哪学,域名 阿里云,河南第二建设集团网站视频一、Jedis介绍 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如Java、C、C#、C、php、Node、js、Go等。 在官方网站里列的一些Java客户端,有jedis、Redisson、Jredis等,其中官方推荐使用jedis,在企…

一、Jedis介绍

  Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如Java、C、C#、C++、php、Node、js、Go等。

  在官方网站里列的一些Java客户端,有jedis、Redisson、Jredis等,其中官方推荐使用jedis,在企业中用的最多的就是Jedis。

二、Java连接Redis

2.1 导入jar包

  • commons-pool2-2.3.jar
  • jedis-2.7.0.jar

2.2 单实例连接

    @Testpublic void testJedisSingle() throws Exception {// 1.设置ip地址和端口号Jedis jedis = new Jedis("192.168.25.129", 6379);// 2.设置数据jedis.set("name", "zhangsan");// 3.获得数据String name = jedis.get("name");System.out.println(name);// 4.释放资源
        jedis.close();}    

   注:如果执行上面代码时抛出如下异常

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeOutException: connect timed out

   必须关闭Linux防火墙

service iptables stop

2.3 连接池连接

  @Testpublic void testJedisPool() throws Exception {// 1.获得连接池配置对象,设置配置项JedisPoolConfig config = new JedisPoolConfig();// 1.1 最大连接数config.setMaxTotal(30);// 1.2 最大空闲连接数config.setMaxIdle(10);// 2.获得连接池JedisPool jedisPool = new JedisPool(config, "192.168.25.129", 6379);// 3.获得核心对象Jedis jedis = null;try {jedis = jedisPool.getResource();// 4.设置数据jedis.set("name", "lisi");// 5.获得数据String name = jedis.get("name");System.out.println(name);} catch (Exception e) {e.printStackTrace();} finally {if (jedis != null) {jedis.close();}// 虚拟机关闭时,释放pool资源if (jedisPool != null) {jedisPool.close();}}}

2.4 集群连接

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

三、接口封装

  常用的操作redis的方法提取出一个接口,分别对应单机版和集群版创建两个实现类。redis的操作在项目中应用较广泛,可将接口和实现类放在commons的工具类中。

3.1 接口定义

public interface JedisClient {String set(String key, String value);String get(String key);Boolean exists(String key);Long expire(String key, int seconds);Long ttl(String key);Long incr(String key);Long hset(String key, String field, String value);String hget(String key, String field);Long hdel(String key, String... field);
}

3.2 单机版实现类

public class JedisClientPool implements JedisClient {private JedisPool jedisPool;public JedisPool getJedisPool() {return jedisPool;}public void setJedisPool(JedisPool jedisPool) {this.jedisPool = jedisPool;}@Overridepublic String set(String key, String value) {Jedis jedis = jedisPool.getResource();String result = jedis.set(key, value);jedis.close();return result;}@Overridepublic String get(String key) {Jedis jedis = jedisPool.getResource();String result = jedis.get(key);jedis.close();return result;}@Overridepublic Boolean exists(String key) {Jedis jedis = jedisPool.getResource();Boolean result = jedis.exists(key);jedis.close();return result;}@Overridepublic Long expire(String key, int seconds) {Jedis jedis = jedisPool.getResource();Long result = jedis.expire(key, seconds);jedis.close();return result;}@Overridepublic Long ttl(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.ttl(key);jedis.close();return result;}@Overridepublic Long incr(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.incr(key);jedis.close();return result;}@Overridepublic Long hset(String key, String field, String value) {Jedis jedis = jedisPool.getResource();Long result = jedis.hset(key, field, value);jedis.close();return result;}@Overridepublic String hget(String key, String field) {Jedis jedis = jedisPool.getResource();String result = jedis.hget(key, field);jedis.close();return result;}@Overridepublic Long hdel(String key, String... field) {Jedis jedis = jedisPool.getResource();Long result = jedis.hdel(key, field);jedis.close();return result;}}

   配置文件applicationContext-redis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"><!-- 配置redis单机版连接 --><bean id="jedisClientPool" class="cn.e3mall.common.jedis.JedisClientPool"><property name="jedisPool" ref="jedisPool"/></bean><bean id="jedisPool" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="192.168.25.129"/><constructor-arg name="port" value="6379"/></bean>
</beans>

3.3 集群版实现类

public class JedisClientCluster implements JedisClient {private JedisCluster jedisCluster;public JedisCluster getJedisCluster() {return jedisCluster;}public void setJedisCluster(JedisCluster jedisCluster) {this.jedisCluster = jedisCluster;}@Overridepublic String set(String key, String value) {return jedisCluster.set(key, value);}@Overridepublic String get(String key) {return jedisCluster.get(key);}@Overridepublic Boolean exists(String key) {return jedisCluster.exists(key);}@Overridepublic Long expire(String key, int seconds) {return jedisCluster.expire(key, seconds);}@Overridepublic Long ttl(String key) {return jedisCluster.ttl(key);}@Overridepublic Long incr(String key) {return jedisCluster.incr(key);}@Overridepublic Long hset(String key, String field, String value) {return jedisCluster.hset(key, field, value);}@Overridepublic String hget(String key, String field) {return jedisCluster.hget(key, field);}@Overridepublic Long hdel(String key, String... field) {return jedisCluster.hdel(key, field);}}

   spring的配置:

<!-- 配置redis集群版的连接 --><bean id="jedisClientCluster" class="cn.e3mall.common.jedis.JedisClientCluster"><property name="jedisCluster" ref="jedisCluster"></property></bean><bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"><constructor-arg><set><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.25.129"></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.129"></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.129"></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.129"></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.129"></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.129"></constructor-arg><constructor-arg name="port" value="7006"></constructor-arg></bean></set></constructor-arg></bean>

  注意:单机版和集群版不能共存,使用单机版时注释集群版的配置。使用集群版,把单机版注释。

3.4 封装代码测试

  @Testpublic void testJedisClient() throws Exception {//初始化Spring容器ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-redis.xml");//从容器中获得JedisClient对象JedisClient jedisClient = applicationContext.getBean(JedisClient.class);jedisClient.set("first", "100");String result = jedisClient.get("first");System.out.println(result);           }

 

转载于:https://www.cnblogs.com/yft-javaNotes/p/10082711.html

http://www.lbrq.cn/news/1298845.html

相关文章:

  • 如何做网站内容管理/百度权重查询工具
  • 网站制作书籍/百度官方客户端
  • 网站开发的最后5个阶段/如何在google上免费推广
  • 长沙建网站联系电话/东莞外贸优化公司
  • 物流网站前端模板下载/知名网络营销推广
  • 衢州高级网站设计/微信搜一搜seo优化
  • 个人可以做几个网站吗/淘宝推广怎么推
  • 浙江省建设工程质量管理协会网站/泰州seo
  • 在网站做网管工作都做什么/百度竞价推广怎么收费
  • 电商型企业网站建设/济南seo全网营销
  • 做网站有前景吗/泰安seo推广
  • 山东房和城乡建设厅网站首页/网络推广工具
  • 苏州网站建设布局/seo产品是什么意思
  • 长沙知名网站/网络营销推广渠道有哪些
  • 大连模板做网站/建立自己的网站
  • 建立网站一般包括什么等方式/网站建设推广服务
  • 企业网站开发实训目的/电商平台推广方案
  • cms做网站不用后端/中国互联网协会
  • 东莞品托网站建设/济南网络推广公司电话
  • 广告交流群/北京网络seo推广公司
  • 北京计算机培训机构排名前十/太原优化排名推广
  • 杭州关键词排名提升/国外seo网站
  • 网站退出率是什么意思/百度一下搜索一下
  • 网站建设与管理资料下载/山东网络优化公司排名
  • 传销公司做网站运营/软文形式推广产品
  • 广州网络建站/网站建设高端公司
  • 搜索不到的网站/做网站
  • 网站产品管理模块/seo工资待遇 seo工资多少
  • 延安网站建设/seo是指什么职位
  • 网站如何改字体/市场营销案例100例
  • 支付宝支付
  • docker|Linux|以centos基础镜像为基础制作nmap专用镜像(镜像瘦身计划)
  • Oracle RU19.28补丁发布,一键升级稳
  • 数字图像处理(三:图像如果当作矩阵,那加减乘除处理了矩阵,那图像咋变):从LED冬奥会、奥运会及春晚等等大屏,到手机小屏,快来挖一挖里面都有什么
  • GATE:基于移动嵌入式设备的实时边缘构建图注意力神经网络用于鲁棒室内定位
  • 在 OpenSUSE Tumbleweed 和 Leap 上安装 VirtualBox