惠州公司网站建设,wordpress怎么文章共享,制作网页前端,科技设计公司网站模板Redis的java客户端
jedisLettuceSpring Data Redis
Spring Data redis 是Spring的一部分#xff0c;对 Redis 底层开发包进行了高度封装。在Spring项目中#xff0c;可以使用Spring Data Redis来简化操作。
Spring Data Redis使用方式
操作步骤#xff1a;
导入Spring …Redis的java客户端
jedisLettuceSpring Data Redis
Spring Data redis 是Spring的一部分对 Redis 底层开发包进行了高度封装。在Spring项目中可以使用Spring Data Redis来简化操作。
Spring Data Redis使用方式
操作步骤
导入Spring Data Redis 的 maven 坐标配置Redis的数据源编写配置类创建RedisTemplate对象通过RedisTemplate对象操作Redis
1、导入Spring Data Redis 的 maven 坐标
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency
2、配置Redis的数据源
spring:redis:host: 127.0.0.1port: 6379database: 13、编写配置类创建RedisTemplate对象
package top.suweijie.redis.config;import cn.hutool.db.nosql.redis.RedisDS;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;/*** Author suweijie* Date 2024/1/9 17:01* Description: TODO* Version 1.0*/
Slf4j
Configuration
public class RedisConfig {Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {log.info(redisTemplate init...);RedisTemplate redisTemplate new RedisTemplate();redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setConnectionFactory(redisConnectionFactory);return redisTemplate;}}4、通过RedisTemplate操作Redis
package top.suweijie.redis;import jdk.nashorn.internal.runtime.regexp.joni.constants.OPSize;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;
import org.springframework.test.context.junit4.SpringRunner;import java.util.List;
import java.util.concurrent.TimeUnit;/*** Author suweijie* Date 2024/1/9 17:05* Description: TODO* Version 1.0*/
Slf4j
SpringBootTest
RunWith(SpringRunner.class)
public class RedisTest {Autowiredprivate RedisTemplate redisTemplate;Testpublic void test1() {ValueOperations stringObjectValueOperations redisTemplate.opsForValue();HashOperations stringObjectObjectHashOperations redisTemplate.opsForHash();ListOperations stringObjectListOperations redisTemplate.opsForList();SetOperations setOperations redisTemplate.opsForSet();ZSetOperations zSetOperations redisTemplate.opsForZSet();}
}操作字符串 Testpublic void dealString() {//set key valueredisTemplate.opsForValue().set(name,suweijie);//get keyString name (String)redisTemplate.opsForValue().get(name);//setex key seconds valueredisTemplate.opsForValue().set(name,suweijie,60,TimeUnit.SECONDS);//setnx key valueredisTemplate.opsForValue().setIfAbsent(name,suweijie);redisTemplate.delete(name);}
操作哈希
Testpublic void dealHash() {//hset key field valueredisTemplate.opsForHash().put(user,name,suweijie);redisTemplate.opsForHash().put(user,age,20);//hget key fieldString name (String)redisTemplate.opsForHash().get(user,name);log.info(name);//hdel key fieldredisTemplate.opsForHash().delete(user,age);//hkeys keySet keys redisTemplate.opsForHash().keys(user);keys.forEach(System.out::println);//hvals keyList values redisTemplate.opsForHash().values(user);values.forEach(System.out::println);}
操作列表 Testpublic void dealList() {//lpush key value1 value2redisTemplate.opsForList().leftPushAll(list,4,3,2,1);//lrange key start endList list redisTemplate.opsForList().range(list, 0, -1);list.forEach(System.out::println);//rpop keyString rightPop (String) redisTemplate.opsForList().rightPop(list);log.info(rightPop);//llen keyLong size redisTemplate.opsForList().size(list);log .info(size );}
操作集合 Testpublic void dealSet() {//sadd key member1 member2redisTemplate.opsForSet().add(set1,1,2,3,2);redisTemplate.opsForSet().add(set2,1,2,2,4);log.info(-------------------------------------------------);//smembers keySet set redisTemplate.opsForSet().members(set1);set.forEach(System.out::println);log.info(-------------------------------------------------);//scard keyLong size redisTemplate.opsForSet().size(set2);log.info(size );log.info(-------------------------------------------------);//sinter key1 key2Set intersect redisTemplate.opsForSet().intersect(set1, set2);intersect.forEach(System.out::println);log.info(-------------------------------------------------);Set union redisTemplate.opsForSet().union(set1, set2);union.forEach(System.out::println);}
操作有序集合
Testpublic void dealZset() {//zadd score1 member1 socre2 member2redisTemplate.opsForZSet().add(zset1,swj,1);redisTemplate.opsForZSet().add(zset1,zat,2);//zrange key start end withscoresSet zset1 redisTemplate.opsForZSet().rangeByScoreWithScores(zset1, 0, 3);zset1.forEach(System.out::println);//zincryby key increment memerredisTemplate.opsForZSet().incrementScore(zset1,zat,1);//zrem key member1 member2redisTemplate.opsForZSet().remove(zset1,swj);}