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

网站流量30g最近的大新闻

网站流量30g,最近的大新闻,网页设计素材网站花,公司做网站有什么好处要在Java程序中操作Redis可以使用Jedis开源工具。 一、jedis的下载 如果使用Maven项目&#xff0c;可以把以下内容添加到pom中 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId>…

要在Java程序中操作Redis可以使用Jedis开源工具。

一、jedis的下载
如果使用Maven项目,可以把以下内容添加到pom中

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>4.3.1</version>
</dependency>

也可以在maven仓库中下载需要的jar文件,除了jedis.jar以外,还要下载对应的依赖包

1、jedis下载地址:

https://mvnrepository.com/artifact/redis.clients/jedis/4.3.1


2、依赖下载

在下载页面的下方有依赖项的列表,在对应的链接上右键,选择”在新的标签中打开链接“,如果对应的页面不有jar的链接,可以点击”View All“,进入到子页面中去下载。


gson是必须的依赖,用于内部json数据的操作

如果要使用JedisPoolConfig,则必须添加commons-pool2和slf4j-api,没有commons-pool2无法配置池的参数,而没有slf4j-api在运行时会抛异常。

下载后把五个Jar包添加到项目中去

二、jedis使用
    说明:本示例全部使用junit4

1、redis的连接和关闭

//连接redis
Jedis j = new Jedis("localhost", 6379);
//密码
j.auth("123456");
//切换到数据库9
j.select(8);

//关闭连接
j.close();

从以下示例可以看出,jedis操作redis时方法的名称与redis的命令一致。因此对于掌握了redis操作的人员jedis会很容易上手

2、添加一个字符串的值

//连接redis
Jedis j = new Jedis("localhost", 6379);
//密码
j.auth("123456");
//切换到数据库9
j.select(8);
//清空当前数据库中的数据
j.flushDB() ;
//添加字符串的值
j.set("key1".getBytes("utf-8"), "value1".getBytes("utf-8"));
//关闭连接
j.close();

redis的默认编码为utf-8,但应用程序的编码不一定一致,如果直接使用字符串进行操作,可以在多个系统中访问时由于编码不一致而出现乱码,因此建议key和值都以utf-8编码转换成字节数组进行添加

3、获取字符串的值

Jedis j = new Jedis("localhost", 6379);
j.auth("123456");
j.select(8);
//根据key获取值
byte[] bys = j.get("key1".getBytes("utf-8"));
//输出结果
System.out.println(new String(bys,"utf-8"));

j.close();

取出时按存入时的编码还原成字符串即可

4、事务处理

Jedis j = new Jedis("localhost", 6379);
j.auth("123456");
j.select(8);
//监听
j.watch("str2".getBytes("utf-8"),"value2".getBytes("utf-8"));
//开启事务
Transaction t = j.multi();
//添加多条数据
t.set("str2".getBytes("utf-8"),"value2".getBytes("utf-8"));
t.set("str3".getBytes("utf-8"),"value3".getBytes("utf-8"));
//执行事务
t.exec();

j.close();

6、list查询的执行

    当在事务中执行查询时,会反回一个Response对象,此对象的操作必须在事务结束后执行。

示例

Transaction t = j.multi();
//在事务中必须使用事务对象执行相关方法
t.lpush(toBys("lkey1"),
              toBys("val1"),toBys("val2"));

Response<List<byte[]>> res = t.lrange(toBys("lkey1"), 0 ,-1);

t.exec();//执行事务

//从响应中获取查询结果,必须在事务完成之后执行
List<byte[]> list = res.get();
for (byte[] bytes : list) {
      System.out.println(new String(bytes,"utf-8"));
}
        //关闭连接
j.close();

6、使用默认连接池创建连接

//使用默认配置创建连接池
JedisPool pool = new JedisPool("localhost", 6379);
//从池中取出连接
Jedis j = pool.getResource();

//把连接交还给池
j.close();

//关闭池,释放所有连接
pool.close();
7、使用连接池配置创建连接池

JedisPoolConfig conf = new JedisPoolConfig();

//最大空闲连接数
conf.setMaxIdle(10);
//最大连接数
conf.setMaxTotal(100);
//最小空闲数
conf.setMinIdle(2);

//使用配置对象创建连接池
JedisPool pool = new JedisPool(conf,"localhost", 6379);

常用的配置如下

1)maxActive

    控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted。

2)maxIdle

    控制一个pool最多有多少个状态为idle(空闲)的jedis实例;

3)whenExhaustedAction

    表示当pool中的jedis实例都被allocated完时,pool要采取的操作;默认有三种。

WHEN_EXHAUSTED_FAIL –> 表示无jedis实例时,直接抛出NoSuchElementException;

WHEN_EXHAUSTED_BLOCK –> 则表示阻塞住,或者达到maxWait时抛出JedisConnectionException;

WHEN_EXHAUSTED_GROW –> 则表示新建一个jedis实例,也就说设置的maxActive无用;

4)maxWait

    表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛JedisConnectionException;

5)testOnBorrow

    获得一个jedis实例的时候是否检查连接可用性(ping());如果为true,则得到的jedis实例均是可用的;

6)testOnReturn

    return 一个jedis实例给pool时,是否检查连接可用性(ping());

7)testWhileIdle

    如果为true,表示有一个idle object evitor线程对idle object进行扫描,如果validate失败,此object会被从pool中drop掉;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义;

8)timeBetweenEvictionRunsMillis

    表示idle object evitor两次扫描之间要sleep的毫秒数;

9)numTestsPerEvictionRun

    表示idle object evitor每次扫描的最多的对象数;

10)minEvictableIdleTimeMillis

表示一个对象至少停留在idle状态的最短时间,然后才能被idle object evitor扫描并驱逐;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义;

11)softMinEvictableIdleTimeMillis

    在minEvictableIdleTimeMillis基础上,加入了至少minIdle个对象已经在pool里面了。如果为-1,evicted不会根据idle time驱逐任何对象。如果minEvictableIdleTimeMillis>0,则此项设置无意义,且只有在timeBetweenEvictionRunsMillis大于0时才有意义;

12)lifo

    borrowObject返回对象时,是采用DEFAULT_LIFO(last in first out,即类似cache的最频繁使用队列),如果为False,则表示FIFO队列;

8、使用属性配置文件配置池参数

在项目的根下面添加属性配置文件redis.properties

max-total=10
max-idle=4
min-idle=0

在java中读取配置文件并添加到配置对象中

//创建属性配置文件解析对象
Properties pro = new Properties();
//解析属性配置文件
pro.load(Class.class.getResourceAsStream("/redis.properties"));

//创建连接池配置对象
JedisPoolConfig conf = new JedisPoolConfig();
//注入配置参数
conf.setMaxTotal(Integer.parseInt(pro.getProperty("max-total")));
conf.setMaxIdle(Integer.parseInt(pro.getProperty("max-idle")));
conf.setMinIdle(Integer.parseInt(pro.getProperty("min-idle")));

 文章来源于哔站《使用Java操作Redis》

更多学习视频和专栏文章请到哔站个人空间: 布道师学院的个人空间-布道师学院个人主页-哔哩哔哩视频

更多资源和项目下载请到:”开源吧(找实战项目和毕设项目的好网站)“ ​ :开源吧

http://www.tj-hxxt.cn/news/107724.html

相关文章:

  • 网站开发关键技术微信推广方法
  • 做网站推广员工互联网+营销策略怎么写
  • 南通网站推广怎么收费app开发公司有哪些
  • 湖州外贸网站建设微博搜索引擎优化
  • 企业网站怎么做的正在直播足球比赛
  • 网站首页倒计时功能怎么做王通seo赚钱培训
  • 项目网络计划北京网站优化专家
  • 北京朝阳区做网站百度搜索推广收费标准
  • 满屏滚动网站咋做安阳企业网站优化外包
  • 关于网站建设要花多少钱站长工具seo综合查询官网
  • 东软网站建设搜索引擎营销案例有哪些
  • 商城类网站建设方案网站推广找哪家公司好
  • wordpress documentationseo优化的方法有哪些
  • 做相册本哪个网站好用吗如何进行关键词优化工作
  • 北京市人民政府首都之窗网站网站流量统计工具有哪些
  • 深圳市网站设计公推广放单平台
  • 网站开发属于大学那个专业网络培训研修总结
  • 高端响应式网站建设企业营销策划方案
  • 深圳规模较大的网站建设公司百度总部
  • 阿里云 两个网站seo技巧课程
  • 网站建设的关键站长工具在线免费
  • 取消网站备案时间黄页88网推广服务
  • 沈阳网站定制开发关键词有几种类型
  • 如何做服装微商城网站建设本地推广平台
  • 网站建设kaituozu教育培训机构加盟十大排名
  • 一个网站如何做外链深圳刚刚突然宣布
  • 网站开发运营推广叫什么软件网址检测
  • 做网站和网络推广电商推广平台有哪些
  • 博罗网站建设亚马逊seo关键词优化软件
  • wordpress 站内搜索代码百度seo收录