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

迅睿cms建站做农业网站怎么赚钱

迅睿cms建站,做农业网站怎么赚钱,加盟网站模板,云南哪里可以制作自己的网页一、基本介绍 RedisTemplate 为 spring 对 redis 操作的高度封装#xff0c;基本已经满足所有使用场景。 若存在其他拓展使用我们可以自行封装工具类对基本操作进行组装。 RedisLockRegistry 对 redis 锁的一些封装 二、不同环境下依赖以及基本配置 2.1 spring-boot 下依赖…一、基本介绍 RedisTemplate 为 spring 对 redis 操作的高度封装基本已经满足所有使用场景。 若存在其他拓展使用我们可以自行封装工具类对基本操作进行组装。 RedisLockRegistry 对 redis 锁的一些封装 二、不同环境下依赖以及基本配置 2.1 spring-boot 下依赖 版本按需替换 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdversion3.1.2/version/dependency可通过 Autowired 直接注入 Autowired private RedisTemplate redisTemplate配置该类的序列化和反序列化类可选存在默认值 Configuration public class RedisConfig { // 设置Redis序列化方式 默认使用的JDKSerializer序列化 即转为字节存储 在redis 客户端中没有可读性 一般使用 StringRedisSerializer 或 FastJsonRedisSerializerBean public RedisTemplateString, Object redisTemplate(LettuceConnectionFactory redisConnectionFactory) {RedisTemplateString, Object redisTemplate new RedisTemplate();// key序列化redisTemplate.setKeySerializer(new StringRedisSerializer()); // value序列化redisTemplate.setValueSerializer(new FastJsonRedisSerializer(Object.class));// Hash key序列化redisTemplate.setHashKeySerializer(new StringRedisSerializer()); // Hash value序列化redisTemplate.setHashValueSerializer(new StringRedisSerializer());redisTemplate.setConnectionFactory(redisConnectionFactory);return redisTemplate;} }若使用 FastJsonRedisSerializer 做反序列化需要引入 fastJson 依赖 版本按需替换 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.76/version/dependency2.2 一般 springspring-mvc 环境 核心依赖为 版本按需替换 dependencygroupIdorg.springframework.data/groupIdartifactIdspring-data-redis/artifactIdversion2.7.0/version/dependency但如果使用 版本按需替换 dependencygroupIdorg.springframework.integration/groupIdartifactIdspring-integration-redis/artifactIdversion4.3.19.RELEASE/version/dependency该包内部也包含了 spring-data-redis 依赖 若引用jedispool 则还需引入 版本按需替换此包也是redis 最基础的依赖但由于更名 所以也叫 jedis dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.10.2/version/dependency此类 redisTemplate 初始化动作 以及基本封装 实际内部数据可以通过读取配置文件或者 静态utils 工具类来设置来获取 import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.integration.redis.util.RedisLockRegistry; import redis.clients.jedis.JedisPoolConfig;public class RedisReg {private static RedisTemplateString, String redisTemplate;private static RedisLockRegistry redisLockRegistry;// 静态代码块做初始化static {JedisPoolConfig poolConfig new JedisPoolConfig();JedisConnectionFactory factory new JedisConnectionFactory();factory.setHostName(redis地址);factory.setPort(redis端口);factory.setPassword(若存在密码则复制);factory.setPoolConfig(redis 连接池);// 在 spring bean初始化完成后执行factory.afterPropertiesSet();RedisTemplateString, String redisTemplate new RedisTemplate();redisTemplate.setConnectionFactory(factory);// key 序列化redisTemplate.setKeySerializer(new StringRedisSerializer());// value 序列化redisTemplate.setValueSerializer(new StringRedisSerializer());// 在 spring bean初始化完成后执行redisTemplate.afterPropertiesSet();RedisReg.redisTemplate redisTemplate;RedisReg.redisLockRegistry new RedisLockRegistry(factory, redis-lock(任意不重复即可), 超时时间-毫秒);}public static RedisTemplateString, String getRedisTemplate() {return redisTemplate;}public static RedisLockRegistry getRedisLockRegistry() {return redisLockRegistry;} }三、redisTemplate 基本使用 当redisTemplate初始化完成并获取到 redisTemplate 后即可执行一些基本操作 根据 redis 的基本类型 redisTemplate提供了对应的各种操作方式 3.1 Spring提供的Redis数据结构的操作类 ops 即 英文 Operations 操作缩写For 后跟对应的操作对象类型 常用的一般为前四个即 StirngListSet Zset Hash Hash 常用来存储和对象类型 Map 类型 3.3 string 类基本操作 set一类 补充说明 第一个 携带 offset 偏移量的为用 value 参数覆写给定 key 所储存的字符串值从偏移量 offset 开始 setIfAbsent 如果不存在则赋值 并返回true ,相对的如果已经存在key 则返回false 也意味着赋值失败 ifPresent 则相反 setBit: 将二进制第offset位值变为value get一类 // 在指定key 的value 后追加内容 redisTemplate.opsForValue().append(key, value)// 获取字符串长度 redisTemplate.opsForValue().size(key) 递增 递减 3.4 list 类基本操作 push 加入操作 rightPopAndLeftPush: 为从一个key 对应的list 队尾获取一个元素并将该元素放到 目的队列的最左边 获取操作 // 获取列表指定范围内的元素(start开始位置, 0是开始位置end 结束位置, -1返回所有) redisTemplate.opsForList().range(key, start, end);指定获取 index 一类 pop 取出动作 从左侧或者右侧移除一个元素并取出若没有元素时阻塞队列等待到超时或者直到出现可以移除并取出的元素 // 在指定索引处插入值 redisTemplate.opsForList().set(key, index, value) // 指定 key 下存储的list 的值的长度 redisTemplate.opsForList().size(key) // 删除集合中值等于value的元素(index0, 删除所有值等于value的元素; index0, 从头部开始删除第一个值等于value的元素; index0, 从尾部开始删除第一个值等于value的元素) redisTemplate.opsForList().remove(key, index, value) // 将List列表进行剪裁 redisTemplate.opsForList().trim(key, start, end)3.5 set 类基本操作 差集 交集 并集 结果获取count 表个数 // 添加元素 redisTemplate.opsForSet().add(key, values) // 删除单个或多个值 redisTemplate.opsForSet().remove(key, values....) // 移除并返回一个随机元素 redisTemplate.opsForSet().pop(key) // 集合长度 redisTemplate.opsForSet().size(key) // 是否包含某一个值 redisTemplate.opsForSet().isMember(key, value) // 遍历set类似于Interator(ScanOptions.NONE为显示所有的) redisTemplate.opsForSet().scan(key, options)CursorString dwa redisTemplate.opsForSet().scan(dwa, ScanOptions.NONE);while (dwa.hasNext()) {}3.6 hash 类基本操作 基本用于存储对象类型或map // 获取指定key 下对象的某一个属性有则返回无则为null redisTemplate.opsForHash().get(key, field) // 获取所有键值对 redisTemplate.opsForHash().entries(key) // 获取所有hashkey redisTemplate.opsForHash().keys(key) // 获取所有hashkey 下的值 redisTemplate.opsForHash().values(key) // 获取hash 中所有字段数量 redisTemplate.opsForHash().size(key) // 删除一个或多个hashkey redisTemplate.opsForHash().delete(key, fields....) // 是否存在hasKey redisTemplate.opsForHash().hasKey(key, field) // 获取可遍历键值对 ScanOptions.NONE为获取全部键对 redisTemplate.opsForHash().scan(key, options) // 为指定hash key 对应整数字段做自增 redisTemplate.opsForHash().increment(key, field, increment)补充hashKey 不存在时增加 3.7 zSet类型 有序集合 // 添加元素(有序集合是按照元素的score值由小到大进行排列) redisTemplate.opsForZSet().add(key, value, score)// 删除对应的value,value可以为多个值 redisTemplate.opsForZSet().remove(key, values)// 增加元素的score值并返回增加后的值 redisTemplate.opsForZSet().incrementScore(key, value, delta)// 返回元素在集合的排名,有序集合是按照元素的score值由小到大排列 redisTemplate.opsForZSet().rank(key, value)// 返回元素在集合的排名,按元素的score值由大到小排列 redisTemplate.opsForZSet().reverseRank(key, value)// 获取集合中给定区间的元素(start 开始位置end 结束位置, -1查询所有) redisTemplate.opsForZSet().reverseRangeWithScores(key, start,end)// 按照Score值查询集合中的元素结果从小到大排序 redisTemplate.opsForZSet().reverseRangeByScore(key, min, max) redisTemplate.opsForZSet().reverseRangeByScoreWithScores(key, min, max)// 返回值为:SetZSetOperations.TypedTupleV // 从高到低的排序集中获取分数在最小和最大值之间的元素 redisTemplate.opsForZSet().reverseRangeByScore(key, min, max, start, end)// 根据score值获取集合元素数量 redisTemplate.opsForZSet().count(key, min, max)// 获取集合的大小 redisTemplate.opsForZSet().size(key) redisTemplate.opsForZSet().zCard(key)// 获取集合中key、value元素对应的score值 redisTemplate.opsForZSet().score(key, value)// 移除指定索引位置处的成员 redisTemplate.opsForZSet().removeRange(key, start, end)// 移除指定score范围的集合成员 redisTemplate.opsForZSet().removeRangeByScore(key, min, max)// 获取key和otherKey的并集并存储在destKey中其中otherKeys可以为单个字符串或者字符串集合 redisTemplate.opsForZSet().unionAndStore(key, otherKey, destKey)// 获取key和otherKey的交集并存储在destKey中其中otherKeys可以为单个字符串或者字符串集合 redisTemplate.opsForZSet().intersectAndStore(key, otherKey, destKey)// 遍历集合 类似迭代器 iterator CursorTypedTupleObject scan opsForZSet.scan(hahaha, ScanOptions.NONE);while (scan.hasNext()){ZSetOperations.TypedTupleObject item scan.next();System.out.println(item.getValue() : item.getScore());}部分参考 参考连接1 参考连接2 脚本之家等
http://www.sadfv.cn/news/157157/

相关文章:

  • 郑州网站建设新闻wordpress zip 升级
  • 家装网站自己做的建筑工程承包
  • 官网优化包括什么内容seo网站建设是什么
  • 在百度上做网站找谁北京网站建设兴田德润官网多少
  • 网站素材模板旅游python做网页界面
  • 做的比较好网站有哪些大通县公司网站建设
  • 南昌网站建设怎么样郑州直播app开发
  • 怀化订水网站网络营销是一种什么样的营销
  • 网站开发编码选择一般是做网站去哪里做好
  • 南通住房和城乡建设局网站首页福建设计招聘网站
  • 那些cps网站做的比较好天津建设工程信息网里如何添加企业资质
  • 网站建设对比专门做旅游的网站有哪些
  • 网站建设服务费合同网站 云建站
  • 网站没被收录什么原因中国建设银行信用卡网站首页
  • 成都建工网站沈阳网站制作全网性
  • 做我的世界背景图的网站有什么做ppt的网站吗
  • 重庆网站建设夹夹虫负责o2o是指的是什么
  • 新乡建网站wordpress手机字体变大6
  • 共享经济网站建设策划书应用市场下载app
  • 太原网站优化价格房地产网站策划
  • 免费建站系统有哪些app运营模式
  • 网站优化排名的公司有哪些开公司怎么找客户
  • 东莞网站建设服务h5编辑器有哪些软件
  • 有祥云网站iis网站
  • 凡科网站怎么做链接头像logo怎么建设网站网页
  • 网站要能被搜到需要做推广嘛wordpress模板标签
  • 1 建设网站目的是什么网上购物系统论文
  • 徐州市云龙区建设局网站四川在线
  • 一个购物网站多少钱wordpress 安全性
  • 建设银联官方网站au网站怎么注册