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

网站建设与管理基础及实训(php版)深圳专业做网站设计

网站建设与管理基础及实训(php版),深圳专业做网站设计,腾讯学生服务器做网站,网站在线制作Web缓存利器Redis的应用 Redis是目前使用非常广泛的开源的内存数据库#xff0c;是一个高性能的keyvalue数据库#xff0c;它支持多种数据结构#xff0c;常用做缓存、消息代理和配置中心。本节将简单介绍Redis的使用#xff0c;想深入了解的读者可以参考其官方文档继续学…Web缓存利器Redis的应用 Redis是目前使用非常广泛的开源的内存数据库是一个高性能的keyvalue数据库它支持多种数据结构常用做缓存、消息代理和配置中心。本节将简单介绍Redis的使用想深入了解的读者可以参考其官方文档继续学习。 Redis的应用场景 Redis在项目中的应用场景有以下几个 1. 热点数据的缓存 由于Redis的访问速度快、支持的数据类型很丰富所以很适合用来存储热点数据其内置的expire可以对缓存的数据设置过期时间。在缓存的数据过期后再设置新的缓存数据。 2. 计数器 Redis的incrby命令是原子性地递增因此可以运用于商城系统的高并发的秒杀活动、分布式序列号的生成等场景。 3. 排行榜 可以使用Redis的SortedSet进行热点数据的排序。 4. 分布式锁 Redis的setnx命令的作用是如果当前的缓存数据不存在则设置缓存成功同时返回1否则设置缓存失败并返回0。可以利用这个特性在Redis集群中检测锁的有效时间如果超时那么等待的进程将有机会获得锁从而防止项目出现死锁。 5. 消息系统 Redis也可以作为消息系统但在实际场景中用得不多。 Redis的安装和使用 本文以Window系统为例简单介绍Redis的安装和使用。 1下载最新版Redis的Window版然后解压文件。双击redisserver.exe会打开Redis服务如图4.14所示表示Redis已经启动成功。 图4.14 Redis服务端启动 2如果要使用Redis命令行工具双击redis-cli.exe就会打开Redis的命令行界面如图4.15所示。 图4.15 Redis cli工具 Redis的命令 Redis支持的数据类型有String字符串、Hash哈希、List列表和Set不重复集合常用的命令如表4.4至表4.9所示。 Redis全局命令如表4.4所示。 表4.4 Redis全局命令列表 针对String类型数据的操作命令整理如表4.5所示。 表4.5 String类型数据的操作命令 针对Hash类型数据的操作命令如表4.6所示。 表4.6 Hash类型数据的操作命令 针对List操作类型数据的操作命令如表4.7所示。 表4.7 List类型数据的操作命令 针对Set类型数据的操作命令如表4.8所示。 表4.8 Set类型数据的操作命令 说明smembers、lrange和hgetall都属于比较“重”消耗Redis性能的命令可以使用sscan来完成。 Redis的事务和数据库的事务含义相似都是将多个操作合为一个整体操作的结果要么成功要么失败。Redis事务的命令如表4.9所示。 表4.9 Redis的事务命令 实战在Spring Boot项目中集成Redis 前面介绍了Redis的基础知识下面在项目中集成Redis。 1启动本地的Redis服务在Spring Boot项目的pom.xml中添加Redis依赖使用Spring-redis工具 !-- 添加Redis客户端 -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-redis/artifactId /dependency 2添加Redis操作配置文件代码如下 package com.example.thymeleafdemo.redis; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.lettuce.Lettuce ConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2Json RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;Configuration public class RedisConfig { Bean public RedisTemplateString, Object redisTemplate (LettuceConnectionFactory connectionFactory) { RedisTemplateString, Object redisTemplate new RedisTemplate(); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); redisTemplate.setConnectionFactory(connectionFactory); return redisTemplate; } } 3在application.properties中添加Redis的配置文件代码如下 #Redis 基础配置 # Redis数据库索引默认为0 spring.redis.database0 # Redis服务器地址 spring.redis.host127.0.0.1 # Redis服务器连接端口 spring.redis.port6379 # Redis服务器连接密码默认为空 #spring.redis.password # 链接超时时间 单位为ms毫秒 spring.redis.timeout3000 #Redis线程池设置 # 连接池最大连接数使用负值表示没有限制 默认为8 spring.redis.jedis.pool.max-active8 # 连接池最大阻塞等待时间使用负值表示没有限制 默认为-1 spring.redis.jedis.pool.max-wait-1 # 连接池中的最大空闲连接 默认为8 spring.redis.jedis.pool.max-idle8# 连接池中的最小空闲连接 默认为0 spring.redis.jedis.pool.min-idle0 4添加Redis操作的测试方法 package com.example.thymeleafdemo; import com.example.thymeleafdemo.event.Result; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; // 指定启动类 SpringBootTest(classes {ThymeleafDemoApplication.class}) public class RedisTest { Autowired private RedisTemplateString, String strRedisTemplate; Autowired private RedisTemplateString, Object redisTemplate; Test public void testString() { strRedisTemplate.opsForValue().set(name, cc); Assertions.assertEquals(cc, strRedisTemplate.opsForValue().get(name)); } Test public void testSerializable() { ResultObject result new Result(); result.setData(cc); result.setMessage(success); result.setCode(200); redisTemplate.opsForValue().set(result, result); Result result2 (Result)redisTemplate.opsForValue().get(result); Assertions.assertEquals(result2, result); } } 5运行测试用例testString()方法用于测试String类型的缓存数据的获取值testSerializable()方法肜于测试缓存对象的保存和再次获取两个测试用例都通过结果如图4.16所示。至此Spring Boot集成Redis的工作已经完成。 图4.16 Redis的测试用例 Redis还有很多的使用场景若把Redis展开讲解写一本书都不为过。 Redis在项目中常用的功能还有布隆过滤器布隆过滤器可以进行在线人数的统计。在开发过程中多总结、多看源码、多讨论就能对Redis有更多的认识。
http://www.hkea.cn/news/14452538/

相关文章:

  • 丰功网站建设大型旅游网站源码 织梦
  • 个人网站做淘宝客违规我要表白网app
  • 阿里云怎么建设网站青海省城乡建设厅网站首页
  • 柳北网站制作如何自建网站入口
  • 外包公司做网站多少钱哈尔滨建站模板展示
  • 深圳公司网站建立免费网站建设市场
  • 网站 一般 用什么空间大一网页设计电商网站作业
  • 做网站图专业做财务公司网站
  • 水果网站 模板肇庆网站建设方案外包
  • 高端网站建设的品牌建网站潞城哪家强?
  • 建设网站开发公司上海十大管理咨询公司
  • 肃宁做网站价格组成原理毕业设计代做网站推荐
  • 做网站相册国外 平面设计 网站
  • 在什么网站上做自媒体企业网络营销的优势
  • 潮州网站seo2023年装修风格及颜色
  • 专业做英文网站的公司如何做分类网站信息营销
  • 钦州建设网站记事本做网站背景色怎么弄
  • 专门做游戏交易的网站有哪些朋友圈网站文章怎么做的
  • 网站建设模板代理龙岩今天刚刚最新新闻事件
  • 统计网站怎么做建网站花钱吗
  • 网站推广的意义和方法网站用户体验设计
  • 湖北网站设计制作价格企业服务官网模板
  • 动易网站cms安微省建设厅田网站
  • 有没有做京东客好的网站推荐道路建设去什么网站能看到
  • 番禺网站推广设计网址有哪些
  • 如何进行网站域名解析淘宝交易指数换算工具
  • 榆中建设局网站wordpress keywords 插件
  • 娱乐网站建设怎么样北京建设网站公司
  • 哪些网站可以做微商宝安网站建设制作
  • 网站开发免费视频播放器个人网站做推广