redis Java客户jedis的使用。
来源:互联网 发布:linux zip命令 密码 编辑:程序博客网 时间:2024/06/09 20:42
Redis 简介:
redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:字符串类型、散列类型、列表类型、集合类型、有序集合类型。
Redis主要应用场景如下:
1、缓存(数据查询、短连接、新闻内容、商品内容等等)(最多使用)
2、分布式集群架构中的session分离。
3、任务队列。(秒杀、抢购、12306等等)
4、应用排行榜。
5、网站访问统计。
6、数据过期处理(可以精确到毫秒)
-------由于本文重点介绍jedis的使用,redis安装不再介绍。---------
jedis的使用:
JAR包
1、jedis链接单机版。
// 单实例连接redis @Test public void testJedisSingle() { Jedisjedis = new Jedis("192.168.101.3", 6379); jedis.set("name", "bar"); Stringname = jedis.get("name"); System.out.println(name); jedis.close(); }
2、使用连接池链接。
@Testpublic void pool() {JedisPoolConfig config = new JedisPoolConfig();//最大连接数config.setMaxTotal(30);//最大连接空闲数config.setMaxIdle(2);JedisPool pool = new JedisPool(config, "192.168.101.3", 6379);Jedis jedis = null;try {jedis = pool.getResource();jedis.set("name", "lisi");String name = jedis.get("name");System.out.println(name);}catch(Exception ex){ex.printStackTrace();}finally{if(jedis != null){//关闭连接jedis.close();}}}
3、集群连接。
// 连接redis集群@Testpublic void testJedisCluster() {JedisPoolConfig config = new JedisPoolConfig();// 最大连接数config.setMaxTotal(30);// 最大连接空闲数config.setMaxIdle(2);//集群结点Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();jedisClusterNode.add(new HostAndPort("192.168.101.3", 7001));jedisClusterNode.add(new HostAndPort("192.168.101.3", 7002));jedisClusterNode.add(new HostAndPort("192.168.101.3", 7003));jedisClusterNode.add(new HostAndPort("192.168.101.3", 7004));jedisClusterNode.add(new HostAndPort("192.168.101.3", 7005));jedisClusterNode.add(new HostAndPort("192.168.101.3", 7006));JedisCluster jc = new JedisCluster(jedisClusterNode, config);JedisCluster jcd = new JedisCluster(jedisClusterNode);jcd.set("name", "zhangsan");String value = jcd.get("name");System.out.println(value);}
4、spring整合。
<!-- 连接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大连接数 --><property name="maxTotal" value="30" /><!-- 最大空闲连接数 --><property name="maxIdle" value="10" /><!-- 每次释放连接的最大数目 --><property name="numTestsPerEvictionRun" value="1024" /><!-- 释放连接的扫描间隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="30000" /><!-- 连接最小空闲时间 --><property name="minEvictableIdleTimeMillis" value="1800000" /><!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 --><property name="softMinEvictableIdleTimeMillis" value="10000" /><!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --><property name="maxWaitMillis" value="1500" /><!-- 在获取连接的时候检查有效性, 默认false --><property name="testOnBorrow" value="true" /><!-- 在空闲时检查有效性, 默认false --><property name="testWhileIdle" value="true" /><!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --><property name="blockWhenExhausted" value="false" /></bean><!-- redis单机 通过连接池 --><bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="close"><constructor-arg name="poolConfig" ref="jedisPoolConfig"/><constructor-arg name="host" value="192.168.25.145"/><constructor-arg name="port" value="6379"/></bean>
测试代码:
private ApplicationContext applicationContext;@Beforepublic void init() {applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");}@Testpublic void testJedisPool() {JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");try {jedis = pool.getResource();jedis.set("name", "lisi");String name = jedis.get("name");System.out.println(name);}catch(Exception ex){ex.printStackTrace();}finally{if(jedis != null){//关闭连接jedis.close();}}}
阅读全文
0 0
- redis Java客户jedis的使用。
- Redis使用-java-Jedis
- Redis的java客户端Jedis的使用
- redis的Java客户端jedis使用示例
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- 使用Redis的Java客户端Jedis
- Redis集群 Java客户端Jedis的使用
- Java连接Redis服务,Jedis的使用
- 使用redis的java客户端-----jedis
- Redis--Jedis的使用
- Java使用Jedis操作Redis
- Java使用Jedis操作Redis
- Jedis使用java操作Redis
- Java 使用Jedis操作Redis
- java 使用jedis操作redis
- hibernate延迟加载和session关闭问题
- vue和element框架搭配实现导航条跳转,点击按钮跳转页面导航条也跟着变换
- eval('('+***+')')对json数据格式的作用
- Windows7 64 位系统安装Oracle VM VirtualBox 后没有Ubuntu/Linux 64-bit选项
- Php中的静态变量和静态方法
- redis Java客户jedis的使用。
- js判断微信内核浏览器
- Leetcode 112, Path Sum
- Ubuntu字符界面输入密码始终提示错误 login incorrect 解决办法
- 高效编程:Redis实战与源码剖析(一)
- LinuxRabbitMQ的安装
- 关于友盟s=-11;s1=accs bindapp error!的解决处理
- QT4.8.5+qt-vs-addin-1.1.11+VS2010安装配置和QT工程的新建和加载
- 写博客的一点感想--记录下我的技术经验足迹