redis工具类

SpringBoot Redis工具类封装 SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果。因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable)。看了很多博客后,我成功的整合了,并写了个Redis操作工具类。特意在此记录一下,方便后续查阅。 一、Maven依赖 1、本文所采用的SpringBoot的版本如下 <parent> &lt... 阅读详情
package com.xxx.common.redis;

import com.xxx.base.util.CommonUtil;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.redis.connection.DataType;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.data.redis.core.ZSetOperations.TypedTuple;
import org.springframework.stereotype.Repository;

@Repository("redisDao")
public class RedisDao {
    @Autowired
    private StringRedisTemplate redisTemplate;
    private static Logger logger = LoggerFactory.getLogger(RedisDao.class);

    public RedisDao() {
    }

    public <T> boolean set(String key, T value) {
        boolean result = false;

        try {
            String str = CommonUtil.beanToString(value);
            ValueOperations<String, String> valueOperations = this.redisTemplate.opsForValue();
            valueOperations.set(key, str);
            result = true;
        } catch (Exception var6) {
            logger.error("redis set error key={},value={}", new Object[]{key, value, var6});
        }

        return result;
    }

    public <T> boolean set(String key, T value, Integer timeout) {
        boolean result = false;
        String str = CommonUtil.beanToString(value);

        try {
            ValueOperations<String, String> valueOperations = this.redisTemplate.opsForValue();
            valueOperations.set(key, str, timeout.longValue(), TimeUnit.SECONDS);
            result = true;
        } catch (Exception var7) {
            logger.error("redis set error key={},value={},timeout={}", new Object[]{key, str, timeout, var7});
        }

        return result;
    }

    public <T> boolean set(String key, T value, Integer timeout, TimeUnit unit) {
        String str = CommonUtil.beanToString(value);

        try {
            ValueOperations<String, String> valueOperations = this.redisTemplate.opsForValue();
            valueOperations.set(key, str, timeout.longValue(), unit);
            return true;
        } catch (Exception var7) {
            logger.error("redis set error key={},value={},timeout={},unit={}", new Object[]{key, str, timeout, unit, var7});
            return false;
        }
    }

    public <T> T get(String key, Class<T> clazz) {
        String result = null;

        try {
            ValueOperations<String, String> valueOperations = this.redisTemplate.opsForValue();
            result = (String)valueOperations.get(key);
        } catch (Exception var5) {
            logger.error("redis get error key={}", key, var5);
        }

        T t = CommonUtil.stringToBean(result, clazz);
        return t;
    }

    public boolean del(String key) {
        boolean result = false;

        try {
            this.redisTemplate.delete(key);
            result = true;
        } catch (Exception var4) {
            logger.error("redis del error key={}", key, var4);
        }

        return result;
    }

    public boolean delCollection(Set<String> keys) {
        boolean result = false;

        try {
            this.redisTemplate.delete(keys);
            result = true;
        } catch (Exception var4) {
            logger.error("redis delCollection error key={}", keys.toString(), var4);
        }

        return result;
    }

    public boolean hasKey(String key) {
        boolean result = false;

        try {
            result = this.redisTemplate.hasKey(key);
        } catch (Exception var4) {
            logger.error("redis hasKey error key = {}", key, var4);
        }

        return result;
    }

    public long increment(String key, Integer delta) {
        try {
            ValueOperations<String, String> valueOperations = this.redisTemplate.opsForValue();
            return valueOperations.increment(key, delta.longValue());
        } catch (Exception var4) {
            logger.error("redis increment error key = {}, delta = {}", new Object[]{key, delta, var4});
            return 0L;
        }
    }

    public long increment(String key, Integer delta, Integer timeout) {
        try {
            boolean hasKey = false;
            if (!this.hasKey(key)) {
                hasKey = true;
            }

            long value = this.increment(key, delta);
            if (hasKey) {
                this.expire(key, timeout);
            }

            return value;
        } catch (Exception var7) {
            logger.error("redis increment error key = {}, delta = {}", new Object[]{key, delta, var7});
            return 0L;
        }
    }

    public boolean expire(String key, Integer timeout) {
        boolean result = false;

        try {
            this.redisTemplate.expire(key, timeout.longValue(), TimeUnit.SECONDS);
            result = true;
        } catch (Exception var5) {
            logger.error("redis expire error key = {}", key, var5);
        }

        return result;
    }

    public boolean expire(String key, Integer timeout, TimeUnit timeUnit) {
        boolean result = false;

        try {
            this.redisTemplate.expire(key, timeout.longValue(), timeUnit);
            result = true;
        } catch (Exception var6) {
            logger.error("redis expire error key = {}", key, var6);
        }

        return result;
    }

    public long ttl(String key) {
        try {
            long time = this.redisTemplate.getExpire(key, TimeUnit.SECONDS);
            return time;
        } catch (Exception var4) {
            logger.error("redis expire error key = {}", key, var4);
            return 0L;
        }
    }

    public boolean putAll(String key, Map map) {
        boolean result = false;

        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            options.putAll(key, map);
            result = true;
        } catch (Exception var5) {
            logger.error("redis putAll error key={},map={}", new Object[]{key, map, var5});
        }

        return result;
    }

    public boolean putAll(String key, Map map, Integer timeout) {
        boolean result = false;

        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            options.putAll(key, map);
            this.redisTemplate.expire(key, timeout.longValue(), TimeUnit.SECONDS);
            result = true;
        } catch (Exception var6) {
            logger.error("redis putAll error key={},map={}", new Object[]{key, map, var6});
        }

        return result;
    }

    public boolean put(String key, String hashKey, String hashValue) {
        boolean result = false;

        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            options.put(key, hashKey, hashValue);
            result = true;
        } catch (Exception var6) {
            logger.error("redis put error key={},hashKey={},hashValue={}", new Object[]{key, hashKey, hashValue, var6});
        }

        return result;
    }

    public boolean hasKey(String key, String hashKey) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return options.hasKey(key, hashKey);
        } catch (Exception var4) {
            logger.error("redis hasKey error key={},hashKey={}", new Object[]{key, hashKey, var4});
            return false;
        }
    }

    public String getHashValue(String key, String hashKey) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return (String)options.get(key, hashKey);
        } catch (Exception var4) {
            logger.error("redis get error key={},hashKey={}", new Object[]{key, hashKey, var4});
            return null;
        }
    }

    public List<String> multiGet(String key, Collection<String> fields) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return options.multiGet(key, fields);
        } catch (Exception var4) {
            logger.error("redis multiGet error key={},hashKey={}", new Object[]{key, fields, var4});
            return null;
        }
    }

    public long delete(String key, String... hashKeys) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return options.delete(key, hashKeys);
        } catch (Exception var4) {
            logger.error("redis delete error key={},hashKeys={}", new Object[]{key, hashKeys, var4});
            return 0L;
        }
    }

    public long increment(String key, String hashKey, Integer delta) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return options.increment(key, hashKey, delta.longValue());
        } catch (Exception var5) {
            logger.error("redis delete error key={},hashKey={},delta={}", new Object[]{key, hashKey, delta, var5});
            return 0L;
        }
    }

    public Set<String> keys(String key) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return this.redisTemplate.keys(key);
        } catch (Exception var3) {
            logger.error("redis keys error key={}", key, var3);
            return null;
        }
    }

    public Map<String, String> entries(String key) {
        try {
            HashOperations<String, String, String> options = this.redisTemplate.opsForHash();
            return options.entries(key);
        } catch (Exception var3) {
            logger.error("redis keys error key={}", key, var3);
            return null;
        }
    }

    public long sAdd(String key, Integer time, String... values) {
        try {
            SetOperations<String, String> setOperations = this.redisTemplate.opsForSet();
            long n = setOperations.add(key, values);
            if (time != null) {
                this.expire(key, time);
            }

            return n;
        } catch (Exception var7) {
            logger.error("redis set add error ", var7);
            return 0L;
        }
    }

    public boolean sIsMember(String key, String value) {
        try {
            SetOperations<String, String> setOperations = this.redisTemplate.opsForSet();
            return setOperations.isMember(key, value);
        } catch (InvalidDataAccessApiUsageException var4) {
            this.del(key);
        } catch (Exception var5) {
            logger.error("redis set sisMember error", var5);
        }

        return false;
    }

    public long sRem(String key, String... hashKeys) {
        try {
            SetOperations<String, String> setOperations = this.redisTemplate.opsForSet();
            return setOperations.remove(key, hashKeys);
        } catch (Exception var4) {
            logger.error("redis set sRem error", var4);
            return 0L;
        }
    }

    public long sCard(String key) {
        try {
            SetOperations<String, String> setOperations = this.redisTemplate.opsForSet();
            long n = setOperations.size(key);
            return n;
        } catch (Exception var5) {
            logger.error("redis set sSize error ", var5);
            return 0L;
        }
    }

    public Set<String> members(String key) {
        Set set = null;

        try {
            SetOperations<String, String> setOperations = this.redisTemplate.opsForSet();
            set = setOperations.members(key);
            return set;
        } catch (InvalidDataAccessApiUsageException var4) {
            this.del(key);
        } catch (Exception var5) {
            logger.error("redis members sSize error ", var5);
        }

        return set;
    }

    public boolean zAdd(String key, String value, double score) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            return zSetOperations.add(key, value, score);
        } catch (Exception var6) {
            logger.error("redis zset zadd error e:{}", var6);
            return false;
        }
    }

    public boolean zRem(String key, String... value) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            long row = zSetOperations.remove(key, value);
            return row > 0L;
        } catch (Exception var6) {
            logger.error("redis zset remove error e:{}", var6);
            return false;
        }
    }

    public long zRank(String key, String value) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            return zSetOperations.rank(key, value) + 1L;
        } catch (Exception var4) {
            logger.error("redis zset zRank error e:{}", var4);
            return 0L;
        }
    }

    public long zRevRank(String key, String value) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            Long res = zSetOperations.reverseRank(key, value);
            return null == res ? 0L : res + 1L;
        } catch (Exception var5) {
            logger.error("redis zset zRevRank error e:{}", var5);
            return 0L;
        }
    }

    public long zCard(String key) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            return zSetOperations.zCard(key);
        } catch (Exception var3) {
            logger.error("redis zset zCard error e:{}", var3);
            return 0L;
        }
    }

    public double zIncrby(String key, String value, double delta) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            return zSetOperations.incrementScore(key, value, delta);
        } catch (Exception var6) {
            logger.error("redis zset zCard error e:{}", var6);
            return 0.0D;
        }
    }

    public double zIncrby(String key, String value, double delta, Long secend) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            double d = zSetOperations.incrementScore(key, value, delta);
            this.redisTemplate.expire(key, secend, TimeUnit.SECONDS);
        } catch (Exception var9) {
            logger.error("redis zset zCard error e:{}", var9);
        }

        return 0.0D;
    }

    public Set<String> zRange(String key, Integer start, Integer end) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            return zSetOperations.range(key, start.longValue(), end.longValue());
        } catch (Exception var5) {
            logger.error("redis zset zRange error e:{}", var5);
            return new HashSet();
        }
    }

    public Map<String, Double> zRangeWithScores(String key, Integer start, Integer end) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            Set<TypedTuple<String>> set = zSetOperations.rangeWithScores(key, start.longValue(), end.longValue());
            Map<String, Double> idAndScores = new HashMap();
            Iterator var7 = set.iterator();

            while(var7.hasNext()) {
                TypedTuple<String> z = (TypedTuple)var7.next();
                idAndScores.put(z.getValue(), z.getScore());
            }

            return idAndScores;
        } catch (Exception var9) {
            logger.error("redis zset zRange error e:{}", var9);
            return new HashMap();
        }
    }

    public Set<String> zRevrange(String key, Integer start, Integer end) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            return zSetOperations.reverseRange(key, start.longValue(), end.longValue());
        } catch (Exception var5) {
            logger.error("redis zset zRange error e:{}", var5);
            return new HashSet();
        }
    }

    public double zScore(String key, String value) {
        try {
            ZSetOperations<String, String> zSetOperations = this.redisTemplate.opsForZSet();
            Double db = zSetOperations.score(key, value);
            return db == null ? 0.0D : db;
        } catch (Exception var5) {
            logger.error("redis zset zscore error e:{}", var5);
            return 0.0D;
        }
    }

    public long leftPush(String key, Object object) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            long n = listOperations.leftPush(key, object);
            return n;
        } catch (Exception var6) {
            logger.error("redis leftPush  error e:{}", var6);
            return 0L;
        }
    }

    public long rightPush(String key, Object object) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            long n = listOperations.rightPush(key, object);
            return n;
        } catch (Exception var6) {
            logger.error("redis leftPush  error e:{}", var6);
            return 0L;
        }
    }

    public Object rightPop(String key) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            Object o = listOperations.rightPop(key);
            return o;
        } catch (Exception var4) {
            logger.error("redis leftPush  error e:{}", var4);
            return null;
        }
    }

    public Object leftPop(String key) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            Object o = listOperations.leftPop(key);
            return o;
        } catch (Exception var4) {
            logger.error("redis leftPop  error e:{}", var4);
            return null;
        }
    }

    public Object getFromList(String key, Integer index) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            Object o = listOperations.index(key, index.longValue());
            return o;
        } catch (Exception var5) {
            logger.error("redis getFromList  error e:{}", var5);
            return null;
        }
    }

    public List<Object> range(String key, Integer start, Integer end) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            List<Object> list = listOperations.range(key, start.longValue(), end.longValue());
            return list;
        } catch (Exception var6) {
            logger.error("redis range  error e:{}", var6);
            return null;
        }
    }

    public List<Object> range(String key) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            List<Object> list = listOperations.range(key, 0L, -1L);
            return list;
        } catch (Exception var4) {
            logger.error("redis range  error e:{}", var4);
            return null;
        }
    }

    public Long remove(String key, String itme) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            Long removeNum = listOperations.remove(key, 0L, itme);
            return removeNum;
        } catch (Exception var5) {
            logger.error("redis range  error e:{}", var5);
            return 0L;
        }
    }

    public Long size(String key) {
        try {
            ListOperations listOperations = this.redisTemplate.opsForList();
            long n = listOperations.size(key);
            return n;
        } catch (Exception var5) {
            logger.error("redis size  error e:{}", var5);
            return null;
        }
    }

    public Set<String> getKeysByLike(String cachePrefix) {
        return this.redisTemplate.keys(cachePrefix);
    }

    public DataType getKeysType(String key) {
        return this.redisTemplate.type(key);
    }
}

Redis工具类实战应用——Fewyit Redis工具类全解析 在现代IT架构中,Redis作为高性能的键值存储系统,已经成为数据缓存和消息队列管理等场景的首选工具。它不仅支持多种数据类型如字符串、列表、集合、有序集合和哈希等,而且还提供了诸如事务、Lua脚本、发布/订阅等高级特性。掌握Redis,不仅能提高系统的性能,还可以极大地简化业务逻辑的实现。本文将深入探讨Redis的核心概念和使用方法,旨在为读者提供从入门到高级应用的全面指南。从连接管理到数据类型操作,再到高级特性和特定场景应用,我们将逐层深入,揭示Redis的强大功能和在实际项目中的应用技巧。 阅读详情

相关推荐

从Oracle迁移数据到Hadoop

目标:把Oracle 下的数据文件迁移到 Hadoop , 数据表都是上亿条,每个数据表的空间都超过100G。 关键是建立数据文件是UTF8格式,这样数据中的汉字在Hadoop 里显示才正常。 平台:CentOS 6.10 工具:Python 2.7 cx_Oracle 库 Oracle10.2.0.4.0 Hadoop 2.7.2-transwarp-5.2.1 1. 查看表...

预则立 4237

Redis 键属性介绍

Redis数据库介绍 没个Redis客户端都有自己的目标数据库,当客户端执行数据库命令时,目标数据库就是操作对象。 数据库切换 使用select可切换数据库 select 2 切换到2号数据库 键空间 Redis时一个 K-V数据库服务器,每个数据库都有redis.h/redisDb表示,其中redisDb结构里面包含的 dict字典保存了数据库中所有的键值对,即键空间。 键空间的键为字符串对象...

SW_LCC的博客 560

Qt加载百度地图详细流程(附带报错解决方法)

一篇文章看懂Qt如何加载出百度地图......

qq_60018273的博客 1607

redis5.0 有key未命中事件_如何提高及优化 redis 缓存命中率

引子: 1、命中率的概念: 客户端获取缓存数据的时候会出现命中率问题,那么命中率是什么那,通俗点说, 命中 (hit)就是查询到了缓存结果,没有命中(miss)就是没有查询到缓存结果。 用 命中 (hit)数量除( hit 加 没有命中miss 的 总数),得出的就是命中率。 公式如下:hits /( hits + miss)= 命中率 % 。 2、在redis 如何查看命中率那? 我们可以使用redis-cli 连接服务端后,执行 info 命令查看。 127.0.0.1:6379> info 返回

NBA_1的博客 3649

PX4飞控参数详解-Multicopter Position Control​多旋翼位置控制

Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)//启用悬停时的最大水平速度(使用 0 可禁用此检查)(仅适用MPC_POS_MODE 0 或 MPC_ALT_MODE 2)Maximum horizontal and vertical jerk in Position/Altitude mode//位置/高度模式下的最大水平和垂直加加速度。

u013096791的博客 1818

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 542

redis高级

阅读完本文要搞懂的东西使用场景 数据类型在这里一次罗列所有知识点分布式缓存单节点redis存在的的问题redis是基于内存的,难以满足海量数据存取需求(主从集群)(分片集群存储到不同服务器,动态扩容)redis数据在内存会丢失(redis持久化)故障恢复(redis哨兵机制)redis的分片服务器数量,三主三从。

pengzn的博客 318

SAP中错记虚拟利润中心的调整,冲销处理实例

我非CO专业顾问。工作中遇到的问题,也会找资料,分析,测试。有时这个过程会拿到结果,解决问题。遂将过程记录下来备查。读者请谨慎参考!EC-PCA: 利润中心记账流程_9ke0-优快云博客。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 1799

Redis缓存的几个名词,缓存命中、缓存穿透、缓存雪崩、缓存击穿

Redis缓存的几个名词,缓存命中、缓存穿透、缓存雪崩、缓存击穿

XiaoCai 1488

上机笔试题目:取出指定条件二维数组的子数组

取出指定条件二维数组的子数组: 1)传入参数为: 参数一:String[][]sArray2字符串二维数组 参数二:Stringkey字符串 参数三:StringkeyFormat含匹配符的字符串,如下:%0-%1,其中%x含义如为:一维数据列序号为x的值。 keyFormat 可以为 %0-%1-%2,%0-%3-%8-%x...... 例子如下...

91奔跑的蜗牛 637

Code Composer Studio 12.0.0版本 官方例程导入实战指南

本文详细介绍了在Code Composer Studio 12.0.0版本中,如何利用内置的Resource Explorer工具高效导入官方例程的完整实战指南。通过分步讲解定位开发板、导入工程、配置编译器及调试验证等关键操作,帮助开发者快速上手TI微控制器开发,避免常见错误,有效提升学习与开发效率。

weixin_29169899的博客 124

redis:简单介绍string的典型使用场景

本文是作为 简单介绍 string的典型使用场景的学习笔记以上就是我是redis学习笔记。

li209779的博客 1423

ESP32-IDF开发实例-外部Flash与FatFs文件系统数据存取

FatFs是用于小型嵌入式系统的通用FAT / exFAT文件系统模块。FatFs模块是按照ANSI C(C89)编写的,并且与磁盘I/O层完全分开。因此,它独立于平台。它可以并入资源有限的小型微控制器中,例如8051,PIC,AVR,ARM,Z80,RX等。ESP32-IDF对FatFs提供了良好的支持。

视觉与物联智能 2918

Redis工具类

通过源码可以看出,SpringBoot自动帮我们在容器中生成了一个RedisTemplate和一个StringRedisTemplate。​ 看到这个**@ConditionalOnMissingBean注解后,就知道如果Spring容器中有了RedisTemplate对象了,这个自动配置的RedisTemplate不会实例化**。因此我们可以直接自己写个配置类,配置RedisTemplate。该注解核心作用是:当容器中不存在指定类型(或名称)的 Bean 时,才会创建当前注解标注的 Bean。代码如

2303_80236475的博客 929

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Redis操作工具类

核心Redis操作工具类RedisOperateUtil如下,主要包括Redis键(Key)、字符串(String)、哈希(Hash)、列表(List)、集合(Set)等常用的操作。

liwenyang1992的专栏 9625

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Redis工具类:RedisTemplate

/ hash的value序列化方式采用jackson第四步:创建JSON工具类try {return s;T t = null;

2501_90207129的博客 979

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

封装好的Redis工具类

文章目录redis工具类工具类一工具类二工具类三 redis工具类 工具类一 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; imp

weixin_63436826的博客 395

最全的Redis工具类

RedisUtil 介绍  最全的Java操作Redis的工具类,封装了对Redis五种基本类型的各种操作,力求符合Redis的原生操作,使用StringRedisTemplate实现! 快速导航: key命令操作 | String数据操作 | Hash数据操作 | List数据操作 | Set数据操作 | zSet数据操作 相关知识: Redis基础知识补充 | Spring集成Redis | ...

李意成的博客 3968

Redis连接操作工具类

在开发过程中使用Redis,每个人都写一套,很是不方便,下面奉上RedisUtil工具类,包含获取连接,获取资源,释放资源,String、对象保存、删除等等操作 下面上代码: package com.jane.framework.redis; import com.jane.framework.common.util.ConstantsConfigureBean; import com.jane.framework.common.util.SpringContextUtil; import org.apa

庸人1396 972

java redis 工具类_Java操作Redis工具类

packagejavax.utils;importjava.util.ArrayList;importjava.util.List;importredis.clients.jedis.JedisPoolConfig;importredis.clients.jedis.JedisShardInfo;importredis.clients.jedis.ShardedJedis;importredis....

weixin_36019798的博客 339
上一篇: mongo在项目中的具体应用
下一篇: 项目启动就加载的信息
hit、run
博客等级 码龄10年 163粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值