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

张江网站建设wordpress知识问答主题

张江网站建设,wordpress知识问答主题,浙江中立建设有限公司网站,淘宝运营公司哪家好一、如何使用Redis的Java客户端 官方文档#xff1a; https://redis.io/docs/clients/java/ Java-Redis客户端使用场景Jeids 以Redis命令作为方法名称#xff0c;学习成本低#xff0c;简单实现#xff0c;但是Jedis实例是线程不安全的#xff0c;多线程环境下需要基于连…一、如何使用Redis的Java客户端 官方文档 https://redis.io/docs/clients/java/ Java-Redis客户端使用场景Jeids 以Redis命令作为方法名称学习成本低简单实现但是Jedis实例是线程不安全的多线程环境下需要基于连接池使用。 lettuce Lettuce 是基于Netty实现的支持同步、异步和响应式编程方式并且是线程安全的。Redis的哨兵模式、集群模式和管道模式。 Redisson Redisson是基于Redis实现的分布式、可伸缩的Java数据结构集合。包含了诸如Map、Queue、Lock、Semaphore信号量、AtomicLong原子类等强大功能 SpringDataRedis 一款结合了Jedis和Lettuce的SpringBoot框架整合Redis组件。 二、Jedis Jedis官网 https://github.com/redis/jedis Redis的官方也推荐了这种客户端。 一引入依赖 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion4.3.1/version /dependency二建立连接 方式一单点连接 private Jedis jedis;BeforeEachvoid setup() {//建立连接jedis new Jedis(192.168.92.131,6379);//设置密码jedis.auth(123321);//选择数据库jedis.select(0);}Testvoid redisTest(){//插入数据String result jedis.set(name,张三);System.out.println(resultresult);//获取数据String name jedis.get(name);System.out.println(namename);}AfterEachvoid destroy() {if (jedis ! null)jedis.close();}//获取的结果 resultOK name张三方式二连接池建立连接 public class JedisConnectionFactory {private static final JedisPool jedisPool;static {//1、创建连接池配置对象JedisPoolConfig jedisPoolConfig new JedisPoolConfig();//2、配置连接池相关信息// 最大连接数jedisPoolConfig.setMaxTotal(8);// 最大空间连接jedisPoolConfig.setMaxIdle(8);// 最小空闲连接jedisPoolConfig.setMinIdle(0);// 设置最长等待时间msjedisPoolConfig.setMaxWaitMillis(200);//3、建立连接池需要连接池配置ip端口等待时间密码jedisPool new JedisPool(jedisPoolConfig, 192.168.92.131,6379,1000,123321);}public static Jedis getConnection(){//获取单个连接return jedisPool.getResource();}}三、SpringDataRedis SpringData 是 Spring 中数据操作的模块包含对各种数据库的集成其中对Redis的集成模块就叫做 SpringDataRedis官网地址 https://spring.io/projects/spring-data-redis 提供了对不同Redis客户端的整合Lettuce和Jedis提供了RedisTemplate统一API来操作Redis支持Redis的发布订阅模块支持Redis哨兵和Redis集群支持基于Lettuce的响应式编程支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化支持基于Redis的JDKCollection实现 一RedisTemplate RedisTemplate将不同的数据类型操作API封装到不同类型中。 API返回值类型说明redisTemplate.opsForValue()ValueOperations操作String类型数据redisTemplate.opsForHash()HashOperations操作Hash类型数据redisTemplate.opsForList()ListOperations操作List类型数据redisTemplate.opsForSet()SetOperations操作Set类型数据redisTemplate.opsForZSet()ZSetOperations操作SortedSet类型数据redisTemplate通用命令 二RedisTemplate的基本使用 1、引入依赖 !--Redis依赖-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency!--连接池依赖-- dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId /dependency2、配置redis spring:redis:host: 192.168.92.131port: 6379password: 123321lettuce:pool:max-active: 8 #最大连接数max-idle: 8 #最大空闲连接min-idle: 0 #最小空闲连接max-wait: 100 #连接等待时间3、注入RedisTemplate Autowired private RedisTemplate redisTemplate;4、使用RedisTemplate Autowired private RedisTemplate redisTemplate;public void operateString(){// 插入一条string类型的数据存储的格式是Java序列化的格式redisTemplate.opsForValue().set(name, 李四);// 读取一条string类型数据Object name redisTemplate.opsForValue().get(name);System.out.println(name name); }5、优化RedisTemplate存储序列化的现象 Configuration public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory connectionFactory) {//1、创建RedisTemplate对象RedisTemplateString, Object template new RedisTemplate();//2、设置连接工厂template.setConnectionFactory(connectionFactory);//3、创建JSON序列化工具 GenericJackson2JsonRedisSerializer jsonRedisSerializer new GenericJackson2JsonRedisSerializer();//4、设置key的序列化template.setKeySerializer(RedisSerializer.string());template.setHashKeySerializer(RedisSerializer.string());//5、设置Value的序列化template.setValueSerializer(jsonRedisSerializer);template.setHashValueSerializer(jsonRedisSerializer);//6、返回return template;}} 缺点 JSON序列化时会将calss的类型写入json结果中存入Redis中带来额外的内存。 为了节省内存空间我们并不会使用JSON序列化器来处理value而是统一使用String序列化器要求只能存储String类型的key 和 value当需要存储Java对象时手动完成序列化和反序列化。 Spring默认提供了一个StringRedisTemplate类它的key和value的序列化方式默认就是String方式省去自定义RedisTemplate的过程。** PS不如直接用alibaba开源的fastjson减少学习成本但要注意的是 在JSON插件的排行中 jackson-databind gson fastjson这就说明了问题fastjson 专注于性能但安全性不足gson是保证了安全性如果可以在项目中应该使用gson** Autowired private StringRedisTemplate stringRedisTemplate;//JSON工具 private static final ObjectMapper mapper new ObjectMapper();Test void testStringTemplate() throws JsonProcessingException {//准备对象User user new User(zain, 23);//手动序列化String json mapper.writeValueAsString(user);//写入一条数据stringRedisTemplate.opsForValue().set(jedis:user:2, json);// 读取数据String val stringRedisTemplate.opsForValue().get(jedis:user:2);// 反序列化User user1 mapper.readValue(val, User.class); }
http://www.dnsts.com.cn/news/68969.html

相关文章:

  • 商城用什么系统做网站手机设计效果图制作软件
  • 网站用户黏度表现在定制建站 app建设
  • 深圳罗湖网站制作公司哪家好wordpress创建配置文件
  • 网站开发电脑内存要多少怎么向搜索引擎提交网站
  • 雄安建设投资集团网站注册网站步骤
  • 网站前端设计理念北京南站是中高风险地区吗
  • 易橙云做的网站怎么样小米商城
  • 企业做网站优点南宁网站建设托管
  • 网站应用市场设计wordpress源码整合
  • 做设计不进设计公司网站工商网核名查询
  • 达州建设机械网站设计网站专题页包括那些项目
  • 做网站工资多钱wordpress 企业版
  • 网站建设 哪家好免费的个人网站怎么做
  • 重庆南岸营销型网站建设价格外贸网站下载
  • 成都建设网站平台王野天明星
  • 建设网站的网站叫什么网络营销五个特点
  • 德清县小城镇建设网站合肥高新城建设计院网站
  • 郑州有学网站制作搭建企业网站宽带多大
  • 外贸网站用什么空间wordpress 关键词排名
  • 网站标题和关键词网站开发设备费用计入什么科目
  • 天津公司网站佛山推广优化公司
  • 烘焙食品网站建设需求分析注册公司代理记帐
  • 网站运营的工作内容徐汇网站开发培训
  • 网站开发是否用html5443是端口网站建设
  • 万网网站备案产品验证未找到该域名授权信息wordpress 缓存腾讯cos
  • 怎么在服务器建立网站网络黄页推广软件下载
  • 江门网站制作华企立方做文案应该关注的网站推荐
  • 企业企业网站建设网站建设交易平台
  • 做网站网页需要多久php做网站技术
  • 网站内部链接优化安徽元鼎建设工程 网站