当前位置: 首页 > 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.yutouwan.com/news/157157/

相关文章:

  • 会计上大额网站费如何做分录短视频制作软件app
  • 合肥网站建设兼职wordpress 菜单显示
  • 电商网站入口门户网站建设公司哪家好
  • 榆林网络公司建设网站自助建站在线快速建站
  • 海创网站建设wordpress外观
  • 园林绿化网站建设dz网站模板 首页显示内容
  • 哈尔滨市呼兰区住房城乡建设局网站门户网站建设及运营
  • 网站建设的具体步骤网站制作 南通
  • 网站开发浏览器的使用网站建设的主要流程
  • 技术支持 祥云平台 英文网站截屏的图片wordpress不能显示
  • 公司网站 seoWordPress搜索引擎链接提交
  • 做网站低价郑州网站推广
  • 杭州网站建设公司有哪些wordpress证书关闭
  • 移动建站优化网站做相册
  • 有什么网站可以做电台wordpress 怎么安装ssl
  • 哪家网站开发培训好wordpress 主题更改前台字体
  • 泰安做网站哪家好天津市建设安全协会网站
  • 网站开发最重要的技巧seo经理
  • 百度网站权重查询最近国际新闻热点
  • 广州网站优化排名哪家好网销怎么销售的
  • vs做网站怎么上如何申请一个网站 新网
  • 如何做下载网站如何在百度上做产品推广
  • 建设企业网站的时间本地架设wordpress
  • php网站有点设计师网页导航官网
  • 淘宝网站开发源码个性化网站有哪些
  • 成都建站贵州软件开发 网站开发
  • 任务网站建设平度网站建设
  • 网站最新域名ip查询接口店铺在百度免费定位
  • 同城分类信息网站十大企业网站排行榜
  • 寿光shengkun网站建设江西建设职业技能教育咨询网站