Jedis学习
- 编程语言中的数据如任何和redis联动,如果是java语言,那么就可以使用Jedis工具,同时springdata redis也可以使用,lettuce也可以使用。
- java语言操作数据库的四个步骤:
- 1、明确哪个数据库 加载驱动
- 2、创建与数据库之间的连接
- 3、执行操作
- 4、关闭连接
使用Java调用Redis
- 首先需要引入依赖如下:
Jedis常规操作的演示
使用JAVA实现一个简单的Redis业务
- 先写最简单的多线程调用:
- 写业务代码
- 打印了十次业务操作执行后开始进行了报错。
- 这个时候就可以引入异常处理了。
- 现在在线程这里更改一些配置,让他们睡眠一些短时间好看效果。
-
然后就会出现这个结果了。
-
如果要进行多线程开多个线程,那么就可以进行如下优化。
总结
- 休眠的话就会看起来比较好,可以用随机数来产生随机现象。
- 通过max的值来控制结束,然后通过异常处理来控制异常处理。
Jedis连接池
- 实际工作中,肯定是通过连接池进行获取redis对象的,不是上面手工进行获取的。
引入:什么是连接池
数据库连接的建立、关闭资源消耗巨大。 传统数据库访问方式:一次数据访问对应一个物理连接,每次操作数据库都要打开关闭该物理连接,系统性能严重受损。 解决方案:数据库连接池。系统初始运行时,主动建立足够足够的连接,组成一个池,每次应用程序请求数据库连接时,无需重新打开连接,而是从池中取出已有的连接,使用完后,不再关闭,而是归还。
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
连接池是存储、管理数据库连接的容器,应用程序把获取数据库连接的功能委托给连接池,每个连接池都有一个上限,如果连接池达到上限,应用程序线程申请连接时被堵塞,等待其他线程释放连接,每个线程使用完连接后并不马上关闭,至少把它返还给连接池。由于连接的共享,不会频繁的创建、销毁连接,因此就不会增加创建连接的开销,也不会出现socket释放延迟现象。
举个例子:你想买本书看,但是只想看一次,两种选择:去网上买一本或者去书店租书,去书店组只要付租金就可以了,明显省力很多,这就和连接池意义差不多。
- jedis的核心配置:
- 最大连接数、活动连接数、host地址、端口号等等。
- 所以对于上面所说的程序中,进行更改拿reids的方式就行。
- 同时需要注意,连接池只需要建立一次,不用每次使用这个util工具类的时候都建立连接池。所以只需要建立一个静态的设置就可以了。
- 但是30,10这样的数据需要设置成配置文件 redis.properties。
- 这样就不用每次都更改程序代码了。
- 写好配置文件后,直接在java中加载配置文件即可!