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

Redis合集 第二章 redis客户端 第一节 jedis

jedis

线程不安全 所以每个线程需要一个独立的链接 为了保证线程安全 所以需要连接池

创建jedis链接池

public class JedisConnectionFactory
{public static final JedisPool jedispool;static{//配置连接池JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(8);jedisPoolConfig.setMaxIdle(8);//最小空闲链接jedisPoolConfig.setMinIdle(0);jedisPoolConfig.setMaxWait(Duration.ofNanos(100000));//创建连接池对象jedispool = new JedisPool(jedisPoolConfig, "xxxxxx",6379, 1000, "XXXXXX");}public static Jedis getJedis(){return jedispool.getResource();}}

说明:

JedisPoolConfig() 创建一个配置对象,使用无参构造方法就可以了
void setMaxTotal() 设置连接池最大的连接数
void setMaxWait() 刚开始没连上最多等待的时间
void setMaxIdle() 设置最大空闲链接数 也就是在线程池中最多有多少个空闲的链接
void setMinIdle() 设置最小空闲连接数

使用jedis (jedis的api就是redis命令)

public class jedisTest
{private Jedis jedis;@BeforeEachvoid setUp(){jedis = JedisConnectionFactory.getJedis();}@Testvoid testString(){String set = jedis.set("name", "虎哥");System.out.println("set = " + set);String name = jedis.get("name");System.out.println("name = " + name);}@Testvoid testHash(){jedis.hset("user:1","name", "name1");jedis.hset("user:1","age", "1");Map<String, String> stringStringMap = jedis.hgetAll("user:1");stringStringMap.forEach((k,v) -> System.out.println("v = " + v));}@AfterEachvoid tearDown(){if (jedis != null){jedis.close();}}}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 点燃体育赛场新火花,IM与AI共启赛场新范式!
  • BGP实验
  • 基于linux下的mplayer播放器项目
  • 使用webpack搭建个本地项目
  • 版本更新 《坚持学习计时器》软件V3.2更新内容:增加删除指定数据的功能
  • Servlet的三种写法
  • tokenizer一些理解
  • Centos安装RabbitMQ
  • 站易WordPress
  • 从桌面到云端,2024年智能录屏解决方案全攻略
  • AI 功能上新!用 Einstein Copilot for Tableau 加速商业数据分析全过程
  • 优化Spring Boot应用的启动速度技巧
  • 如何设置英国代理IP地址:一场虚拟旅途的奇妙冒险
  • 文本匹配任务(上)
  • GDB的基本使用
  • 【css3】浏览器内核及其兼容性
  • create-react-app做的留言板
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript学习总结——原型
  • Sass 快速入门教程
  • Theano - 导数
  • V4L2视频输入框架概述
  • WePY 在小程序性能调优上做出的探究
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 十年未变!安全,谁之责?(下)
  • 微信小程序--------语音识别(前端自己也能玩)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 数据可视化之下发图实践
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #{}和${}的区别?
  • #QT(智能家居界面-界面切换)
  • (1)(1.9) MSP (version 4.2)
  • (20050108)又读《平凡的世界》
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (6)设计一个TimeMap
  • (c语言)strcpy函数用法
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (编译到47%失败)to be deleted
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (二)原生js案例之数码时钟计时
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (五)IO流之ByteArrayInput/OutputStream
  • (转载)利用webkit抓取动态网页和链接
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .net 简单实现MD5
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .NET和.COM和.CN域名区别
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • @TableLogic注解说明,以及对增删改查的影响