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

厦门专业做网站的广告设计与制作是什么专业类的

厦门专业做网站的,广告设计与制作是什么专业类的,彩票网站建设制作价格,郴州市面积多少平方公里本片将介绍 Redis 在 Java 中的基本使用 文章目录 1、使用jedis操作redis1.1、Jedis简介1.2、引入jedis的Maven依赖1.2、获取连接1.3、使用实例 2、对于JedisPooled的使用2.1、使用JedisPooled2.2、关于连接池 3、SpringBoot下使用Redis3.1、引入Maven依赖3.2、配置Redis连接3.… 本片将介绍 Redis 在 Java 中的基本使用 文章目录 1、使用jedis操作redis1.1、Jedis简介1.2、引入jedis的Maven依赖1.2、获取连接1.3、使用实例 2、对于JedisPooled的使用2.1、使用JedisPooled2.2、关于连接池 3、SpringBoot下使用Redis3.1、引入Maven依赖3.2、配置Redis连接3.3、创建RedisTemplate 3.4、使用RedisTemplate 1、使用jedis操作redis 1.1、Jedis简介 Jedis 是 Java 语言开发的 Redis 客户端工具包用于 Java 语言与 Redis 数据进行交互。 Jedis 在 github 官网地址https://github.com/redis/jedis#readme Jedis 只是对 Redis 命令的封装掌握 Redis 命令便可轻易上手 Jedis。 Jedis 遵循 RESP 协议规范开发具有良好的通用性与可读性。 1.2、引入jedis的Maven依赖 !-- https://mvnrepository.com/artifact/redis.clients/jedis --dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion4.4.3/version/dependency1.2、获取连接 对于许多应用程序需要连接到 Redis 时。最好使用连接池。可以像这样实例化一个 Jedis 连接池: JedisPool pool new JedisPool(localhost, 6379);对于 JedisPool 实例可以使用 try-With-resources 块获得连接并运行 Redis 命令这种方式无须自己手动 close。 try (Jedis jedis pool.getResource()) {// 运行单个 SET 命令jedis.set(clientName, Jedis); }1.3、使用实例 编写以下代码 public static void main(String[] args) {// Redis服务端IP和端口号JedisPool pool new JedisPool(127.0.0.1, 6379);try (Jedis jedis pool.getResource()) {// 使用相关Redis的命令// 选择第0个数据库进行操作jedis.select(0);// 向0号数据库写入,字符串数据jedis.set(Java, best);jedis.set(PHP, good);// 查询是否写入System.out.println(jedis.get(Java));System.out.println(jedis.get(PHP));}}运行测试用例: Jedis 实例实现了大多数 Redis 命令这些命令可以在 https://www.javadoc.io/doc/redis.clients/jedis/latest/redis/clients/jedis/Jedis.htmlApI 中查询命令对应的方法。 2、对于JedisPooled的使用 2.1、使用JedisPooled 对每个命令使用 try-with-resources 块可能比较麻烦因此我们可以考虑使用 JedisPooled。 JedisPooled jedis new JedisPooled(localhost, 6379);详细代码: public static void main(String[] args) {JedisPooled pool new JedisPooled(127.0.0.1, 6379, null, null);pool.set(Java, best);pool.set(PHP, good);System.out.println(pool.get(Java));System.out.println(pool.get(PHP));}运行效果: 2.2、关于连接池 使用链接池是官方推荐的使用方式通过连接池可以更好的使用 Jedis 的我们可以通过 GenericObjectPoolConfig 对连接池进行相关配置GenericObjectPoolConfig API 文档https://commons.apache.org/proper/commons-pool/apidocs/org/apache/commons/pool2/impl/GenericObjectPoolConfig.html 通过 GenericObjectPoolConfig 对象对连接池进行配置具体代码如下: public static void main(String[] args) {GenericObjectPoolConfig config new JedisPoolConfig();// 设置连接池中最多允许放100个Jedis对象config.setMaxTotal(100);// 设置连接池中最大允许空闲连接config.setMaxIdle(100);// 设置连接池中最小允许的连接数config.setMinIdle(10);// 借出连接的时候是否测试有效性,推荐falseconfig.setTestOnBorrow(false);// 归还时是否测试,推荐falseconfig.setTestOnReturn(false);// 创建时是否测试有效 开发的时候设置为false,实践运行的时候设置为trueconfig.setTestOnCreate(false);// 当连接池内jedis无可用资源时,是否等待资源,trueconfig.setBlockWhenExhausted(true);// 没有获取资源时最长等待1秒,1秒后没有还没有的话就报错config.setMaxWaitMillis(1000);JedisPool pool new JedisPool(config, 127.0.0.1, 6379);try (Jedis jedis pool.getResource()) {// 使用相关Redis的命令// 选择第0个数据库进行操作jedis.select(0);// 向0号数据库写入,字符串数据jedis.set(Java, best);jedis.set(PHP, good);// 查询是否写入System.out.println(jedis.get(Java));System.out.println(jedis.get(PHP));}}运行效果: 3、SpringBoot下使用Redis 3.1、引入Maven依赖 首先需要在 pom.xml 文件中添加 Redis 依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency这个依赖包含了 Spring Data Redis以及 Jedis 和 Lettuce 这两种 Redis 客户端的实现。 3.2、配置Redis连接 在 SpringBoot 项目中可以通过在 application.properties 或 application.yml 文件中配置 Redis 连接信息。以下是一个示例 spring:data:redis:timeout: 3000database: 0password: passwordport: 6379host: localhost其中host 和 port 分别是 Redis 服务器的地址和端口号password 是 Redis的密码如果没有密码可以不填timeout 是 Redis 连接超时时间jedis.pool 是连接池的相关设置。 3.3、创建RedisTemplate 使用 Spring Data Redis 操作 Redis通常会使用 RedisTemplate 类。为了方便起见我们可以创建一个工具类来管理 RedisTemplate 的创建和使用。以下是一个示例 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.Set; import java.util.concurrent.TimeUnit;Component public class RedisUtils {/*** 如果使用 Autowired 注解完成自动装配 那么* RedisTemplate要么不指定泛型,要么泛型 为Stirng,String 或者Object,Object* 如果你使用其他类型的 比如RedisTemplateString,Object* 那么请使用 Resource 注解* */Resourceprivate RedisTemplateString,Object redisTemplate;private Logger logger LoggerFactory.getLogger(this.getClass());/*** 缓存value** param key -* param value -* param time -* return -*/public boolean cacheValue(String key, Object value, long time) {try {ValueOperationsString, Object valueOperations redisTemplate.opsForValue();valueOperations.set(key, value);if (time 0) {// 如果有设置超时时间的话redisTemplate.expire(key, time, TimeUnit.SECONDS);}return true;} catch (Throwable e) {logger.error(缓存[ key ]失败, value[ value ] e.getMessage());}return false;}/*** 缓存value没有设置超时时间** param key -* param value -* return -*/public boolean cacheValue(String key, Object value) {return cacheValue(key, value, -1);}/*** 判断缓存是否存在** param key* return*/public boolean containsKey(String key) {try {return redisTemplate.hasKey(key);} catch (Throwable e) {logger.error(判断缓存是否存在时失败key[ key ], err[ e.getMessage() ]);}return false;}/*** 根据key获取缓存** param key -* return -*/public Object getValue(String key) {try {ValueOperationsString, Object valueOperations redisTemplate.opsForValue();return valueOperations.get(key);} catch (Throwable e) {logger.error(获取缓存时失败key[ key ], err[ e.getMessage() ]);}return null;}/*** 移除缓存** param key -* return -*/public boolean removeValue(String key) {try {redisTemplate.delete(key);return true;} catch (Throwable e) {logger.error(移除缓存时失败key[ key ], err[ e.getMessage() ]);}return false;}/*** 根据前缀移除所有以传入前缀开头的key-value** param pattern -* return -*/public boolean removeKeys(String pattern) {try {SetString keySet redisTemplate.keys(pattern *);redisTemplate.delete(keySet);return true;} catch (Throwable e) {logger.error(移除key[ pattern ]前缀的缓存时失败, err[ e.getMessage() ]);}return false;}}在这个示例中我们使用 Resource 注解自动注入了一个 RedisTemplateString, Object 对象。然后我们提供了三个方法来对 Redis 进行操作cacheValue 方法用于缓存数据getValue 方法用于获取缓存数据removeValue 方法用于删除缓存数据。这些方法都是通过 redisTemplate 对象来实现的。 需要注意的是在使用 RedisTemplate 时需要指定键值对的类型。在这个示例中我们指定了键的类型为 String值的类型为 Object。 3.4、使用RedisTemplate 在上面的示例中我们已经创建了一个 RedisTemplate 对象并提供了一些方法来对 Redis 进行操作。现在我们可以在 SpringBoot 项目中的任何地方使用这个工具类来进行缓存操作。以下是一个示例 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;RestController public class UserController {Autowiredprivate RedisUtils redisUtils;Autowiredprivate UserService userService;GetMapping(/users/{id})public User getUserById(PathVariable Long id) {String key user_ id;User user (User) redisUtils.getValue(key);if (user null) {user userService.getUserById(id);redisUtils.cacheValue(key, user);}return user;} }在这个示例中我们创建了一个 UserController 类用于处理 HTTP 请求。在 getUserById 方法中我们首先构造了一个缓存的 key然后使用 redisUtils.getValue 方法从 Redis 中获取缓存数据。如果缓存中没有数据我们调用 userService.getUserById 方法从数据库中获取数据并使用 redisUtils.cacheValue 方法将数据存入Redis缓存中。最后返回获取到的数据。 通过这个示例我们可以看到在S pringBoot 项目中使用 Redis 作为缓存的流程。我们首先需要添加 Redis 依赖然后在配置文件中配置 Redis 连接信息。接着我们创建了一个 RedisUtil s工具类来管理 RedisTemplate 的创建和使用。最后我们在控制器中使用 RedisUtils 来对 Redis 进行缓存操作。
http://wiki.neutronadmin.com/news/276373/

相关文章:

  • 网站建设专业知识合肥seo网站建设费用
  • 在家做网站维护兼职为什么学习wordpress
  • 做房产网站接不到电话做外贸必看的网站和论坛有哪些
  • 建设银行 英文版网站广告设计与制作专业课程
  • 广州网站设计培训班婚嫁网站建设计划
  • 建立企业网站多少钱网络架构师证书
  • 最专业网站建设开发咸宁网站制作公司
  • 网站开发流程步骤互联网后端开发
  • 网站 域名 空间 服务器线上网络推广方案
  • python建设网站实例wordpress中文cms
  • 网页创建网站做企业平台的网站
  • 网站开发是用模版还是纯手打Hizz wordpress
  • 济南百度公司做网站吗网站前端和后台
  • 台州外贸网站建设站长收录平台
  • 网站改版建议策划书网站网站建设企业
  • 深圳坂田做网站网站建设是编程吗
  • 领卷网站如何做代理河南省建设人才信息网官网
  • 南阳做网站优化公司大连零基础网站建设教学公司
  • 高端网站建设专业免费的软件网站建设
  • 域名网站一个专门做预告片的网站
  • 给小说网站做编辑大朗做网站的
  • 网站设计优化方案做网站运营有前景吗
  • 国外最炫酷网站重庆秀山网站建设报价
  • 出口外贸营销网站网页设计与网站建设 作业
  • 怎么做电脑端网站设计稿word模板网
  • 做h5比较好的网站WordPress 延时加载
  • 自建站电商外贸网站访问跳出率
  • 驻马店市旅游网站建设网站手机版制作
  • 赤峰市做网站公司去除wordpress.org
  • 保定市建设施工许可证查询网站wordpress 4.7.5 漏洞