企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
\#redis的配置 spring: redis: host: 192.168.120.130 port: 6379 password: 123456 jedis: pool: max-idle: 20 max-active: 25 min-idle: 10 - - - - - - 5, **StringRedisTemplate (使用最多) 操作Redis** extends RedisTemplate<String,String> /\*\* \* 测试 \* @author LJH \* \*/ @RunWith(SpringRunner.class) @SpringBootTest public class SpringbootRedisApplicationTests { @Autowired private StringRedisTemplate redisTemplate; /\*\* \* redis数据类型为String的操作 \*/ @Test public void testString() { // 操作String类型 ValueOperations<String, String> opsValue = redisTemplate.opsForValue(); // 给redis 里面set 一个key opsValue.set("boot", "spring-boot"); // k -v 都是String // 从redis 里面获取key String value = opsValue.get("boot"); System.out.println(value); // 从redis 里面或多个key List<String> asList = Arrays.asList("boot", "alll-menu-data"); List<String> mulitValues = opsValue.multiGet(asList); System.out.println(mulitValues); // redis的自动增长 Long increment = opsValue.increment("boot-incr", 2);// delta 可以+ 任意的数(步长) System.out.println(increment); } @Test public void testHash() { HashOperations<String, Object, Object> opsForHash = redisTemplate.opsForHash(); // hset opsForHash.put("object-1", "name", "sxt"); // 后面的2 个参数都是object,但是只支持String 类型 opsForHash.put("object-1", "age", "27"); // 后面的2 个参数都是object,但是只支持String 类型 opsForHash.put("object-1", "sex", "man"); // 后面的2 个参数都是object,但是只支持String 类型 Object value = opsForHash.get("object-1", "sex"); System.out.println(value); // 取多个值 List<Object> multiGet = opsForHash.multiGet("object-1", Arrays.asList("name", "sex")); System.out.println(multiGet); } @Test public void testZset() { ZSetOperations<String, String> opsForZSet = redisTemplate.opsForZSet(); // 放到zset集合里面 opsForZSet.add("lol", "sxt", 2500); opsForZSet.add("lol", "lz", 0); opsForZSet.add("lol", "ln", 1400); opsForZSet.add("lol", "ll", -10); opsForZSet.add("lol", "lt", 2700); Set<String> rangeAsc = opsForZSet.range("lol", 0, 2); // 通过排序取值 ll lz ln System.out.println(rangeAsc); Set<String> reverseRange = opsForZSet.reverseRange("lol", 0, 2);// lt lz ln System.out.println(reverseRange); Set<TypedTuple<String>> tuples = new HashSet<ZSetOperations.TypedTuple<String>>(); tuples.add(new DefaultTypedTuple<String>("sxt", 1000.00)); tuples.add(new DefaultTypedTuple<String>("lv", 1200.00)); tuples.add(new DefaultTypedTuple<String>("lz", 2900.00)); tuples.add(new DefaultTypedTuple<String>("lt", 100.00)); // 若redis 存在该key ,则需要数据类型相同,不然报错 opsForZSet.add("dnf", tuples); } }