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

用家用路由器ip做网站网站开发与维护好找工作吗

用家用路由器ip做网站,网站开发与维护好找工作吗,凤山网站seo,深圳银行网站建设RedisTemplate 及相关操作接口对比与方法说明 1. RedisTemplate 核心接口与实现类 RedisTemplate 是 Spring Data Redis 的核心模板类,通过 opsFor... 方法返回不同数据类型的操作接口,每个接口对应 Redis 的一种数据结构。以下是主要接口及其实现类&am…

RedisTemplate 及相关操作接口对比与方法说明


1. RedisTemplate 核心接口与实现类

RedisTemplate 是 Spring Data Redis 的核心模板类,通过 opsFor... 方法返回不同数据类型的操作接口,每个接口对应 Redis 的一种数据结构。以下是主要接口及其实现类:


2. 各操作接口及方法说明
(1) RedisValueOperations<K, V>
  • 对应数据类型:字符串(String)
  • 实现类DefaultRedisScriptingOperations(内部实现)
  • 主要方法
    • set(K key, V value):设置键值对。
    • set(K key, V value, long offset):设置指定偏移量的值(如追加字符串)。
    • getExpire(K key):获取键的剩余过期时间(毫秒)。
    • multiSet(Map<K, V> map):批量设置键值对。
    • increment(K key, long delta):对数值键执行递增操作。
    • append(K key, String value):追加字符串到现有值末尾。

(2) RedisHashOperations<K, HK, HV>
  • 对应数据类型:哈希(Hash)
  • 实现类DefaultHashOperations(内部实现)
  • 主要方法
    • put(K key, HK hashKey, HV hashValue):在哈希中设置字段值。
    • get(K key, HK hashKey):获取哈希中的字段值。
    • entries(K key):获取哈希中所有字段和值。
    • hasKey(K key, HK hashKey):判断哈希中是否存在字段。
    • increment(K key, HK hashKey, long delta):递增哈希中的数值字段。

(3) RedisListOperations<K, V>
  • 对应数据类型:列表(List)
  • 实现类DefaultListOperations(内部实现)
  • 主要方法
    • leftPush(K key, V value):从左侧(头)插入元素。
    • rightPush(K key, V value):从右侧(尾)插入元素。
    • leftPop(K key):弹出并返回左侧元素。
    • range(K key, long start, long end):获取列表切片。
    • trim(K key, long start, long end):截取列表到指定范围。

(4) RedisSetOperations<K, V>
  • 对应数据类型:集合(Set)
  • 实现类DefaultSetOperations(内部实现)
  • 主要方法
    • add(K key, V... values):添加元素到集合。
    • remove(K key, V... values):从集合中移除元素。
    • members(K key):获取集合中所有元素。
    • isMember(K key, V value):判断元素是否存在于集合中。
    • randomMember(K key):随机获取一个元素。

(5) RedisZSetOperations<K, V>
  • 对应数据类型:有序集合(Sorted Set)
  • 实现类DefaultZSetOperations(内部实现)
  • 主要方法
    • add(K key, V value, double score):添加元素及分数。
    • rangeByScore(K key, double min, double max):按分数范围获取元素。
    • score(K key, V value):获取元素的分数。
    • removeRangeByScore(K key, double start, double end):按分数范围删除元素。
    • rank(K key, V value):获取元素的排名(从小到大)。

(6) RedisGeoOperations<K, V>
  • 对应数据类型:地理位置(Geo)
  • 实现类DefaultGeoOperations(内部实现)
  • 主要方法
    • add(K key, V member, double longitude, double latitude):添加地理位置。
    • distance(K key, V member1, V member2):计算两点距离。
    • radius(K key, double longitude, double latitude, double radius, RedisGeoCommands.DistanceUnit unit):获取指定半径内的元素。
    • position(K key, V member):获取元素的经纬度坐标。

(7) RedisStreamOperations<K, V>
  • 对应数据类型:流(Stream,Redis 5+)
  • 实现类DefaultStreamOperations(内部实现)
  • 主要方法
    • add(K key, StreamEntryID id, Map<Field, V> values):向流中添加条目。
    • read(K key, StreamOffset<K> streamOffset):读取流数据。
    • acknowledge(K key, Consumer consumer, StreamEntryID... ids):确认已处理的条目。
    • trim(K key, long maxEntries):按最大条目数截断流。

对比表格

接口对应数据类型核心方法典型场景
RedisValueOperations字符串(String)set, get, increment, append简单键值存储(如计数器、缓存)
RedisHashOperations哈希(Hash)put, get, entries, increment对象属性存储(如用户资料)
RedisListOperations列表(List)leftPush, rightPush, leftPop, range队列/栈操作(如消息队列)
RedisSetOperations集合(Set)add, remove, members, isMember去重存储(如标签、唯一用户列表)
RedisZSetOperations有序集合(ZSet)add, rangeByScore, score, rank排名/优先级队列(如排行榜)
RedisGeoOperations地理位置(Geo)add, distance, radius, position地理信息查询(如附近商家)
RedisStreamOperations流(Stream)add, read, acknowledge, trim流式数据处理(如日志、事件队列)

总结与建议

  1. 选择接口:根据 Redis 数据类型选择对应操作接口(如列表用 RedisListOperations)。
  2. 原子性操作:复杂操作可通过 RedisTemplate.execute(SessionCallback) 实现事务性。
  3. 性能优化
    • 批量操作(如 multiSet)减少网络开销。
    • 使用 RedisTemplate.setEnableTransactionSupport(true) 开启事务支持。
  4. 高级功能:如地理位置查询(RedisGeoOperations)或流处理(RedisStreamOperations)需结合具体业务场景。

示例代码

@Service
public class RedisService {@Autowiredprivate RedisTemplate<String, Object> redisTemplate;public void demoOperations() {// 字符串操作redisTemplate.opsForValue().set("counter", 0);redisTemplate.opsForValue().increment("counter", 1); // 原子递增// 哈希操作redisTemplate.opsForHash().put("user:1001", "name", "张三");redisTemplate.opsForHash().increment("user:1001", "age", 1);// 列表操作redisTemplate.opsForList().rightPush("queue", "message1");redisTemplate.opsForList().leftPop("queue");// 地理位置redisTemplate.opsForGeo().add("locations", "星巴克", 116.397428, 39.90923;);redisTemplate.opsForGeo().radius("locations", 116.3, 39.9, 1000, KILOMETERS);}
}

根据业务需求选择合适的数据类型和接口,灵活使用 Redis 的强大功能!

http://www.dtcms.com/a/404337.html

相关文章:

  • 公司网站的seo优化怎么做网站建设的好处和目的
  • 做网站大公司建立网站用什么软件
  • 【STC51项目开源】STC51单片机智能台灯控制系统
  • 衡水林熠网站建设公司wordpress自带的简码
  • TDengine 聚合函数 HISTOGRAM 用户手册
  • 网站建设专题的意义软装设计师培训机构
  • 怎么做返利网站吗郑州短视频拍摄制作公司
  • 广州市从化区住房和建设局网站品牌形象设计方案
  • 郑州网站建设国奥大厦ui网页设计规则
  • 云企网站seo页面优化技术
  • 福州正规网站建设公司报价网盘 wordpress模板
  • 网络营销成功的案例及其原因郴州网站seo外包
  • 现在流行做网站吗wordpress添加加载中
  • git报错:Unlink of file ‘‘ failed. Should I try again? (y/n)
  • 未来中森网站建设公司有合作社做网站得不
  • 网站优化 英文网页更改
  • 做办公设备网站网站建设标新立异
  • 专业营销网站网站建设作品
  • 13 【C++】C++的类型转换
  • STM32定时器(寄存器与HAL库实现)
  • 教学资源库网站建设立项申报书网络维护员岗位职责
  • 第10节-CTE公用表表达式-Recursive-CTE
  • 广东省备案网站建设方案书iis发布网站的教程
  • git基础操作
  • 茂名专业网站建设外贸出口流程12步骤图
  • 响应式网站 模版58同城企业网站怎么做的
  • ARM——中断(按键)
  • 【conda配环境】导出环境配置与安装
  • 上饶市建设厅网站快速达建网站
  • 深圳做h5网站公司wordpress 入口