redis在项目中的具体使用案例

前提是redis配置好并启动服务:在这里插入图片描述

一、引入依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

二、redis.properties配置

在这里插入图片描述

#Matser的ip地址  
redis.hostName=192.168.1.100
#redis.hostName=127.0.0.1
#端口号  
redis.port=6379
#如果有密码  
redis.password=123456
#redis.password=xxx

#最大空闲数  
redis.maxIdle=100
#最大连接数
redis.maxTotal=200
#最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。  
redis.maxWaitMillis=1000
#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个  
redis.testOnBorrow=true

三、RedisConfig文件和RedisUtil文件

在我的资源里面

四、实体序列化

在这里插入图片描述

序列化,就是为了在不同时间或不同平台的JVM之间共享实例对象

Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。
在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,
如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常

五、存储和获取缓存中的值

	/**
     * 根据id查询帖子详细信息
     * @Author tony
     * @Date 8:37 2019/12/27
     **/
    @RequestMapping("/{id}")
    public ModelAndView view(@PathVariable("id")Integer id)throws Exception{
        ModelAndView mav=new ModelAndView();

        Article article=null;
        String key="article_"+id;
        if(redisUtil.hasKey(key)){
            article=(Article) redisUtil.get(key);
        }else{
            article=articleService.get(id);
            redisUtil.set(key, article, 60*60);
        }

        mav.addObject("article",article);
        mav.addObject("title",article.getName());

        List<Article> hotArticleList=null;
        String hKey="hotArticleList_type_"+article.getArcType().getId();
        if(redisUtil.hasKey(hKey)){
            hotArticleList=redisUtil.lGet(hKey, 0, -1);  //lGet获取集合
        }else{
            Article s_article=new Article();
            s_article.setHot(true);
            s_article.setArcType(article.getArcType());
            hotArticleList = articleService.list(s_article, 1, 43, Sort.Direction.DESC,"publishDate");
            redisUtil.lSet(hKey, hotArticleList, 60*60);
        }

        mav.addObject("hotArticleList", hotArticleList);

        //查询条件
        Comment s_comment = new Comment();
        s_comment.setArticle(article);
        s_comment.setState(1);//审核通过的
        mav.addObject("commentCount", commentService.getTotal(s_comment));

        mav.setViewName("article");
        return mav;
    }
Redis在Java中通常通过Jedis库来进行操作,这是一个非常流行的开源客户端库。以下是使用Jedis进行Redis操作的一些基本步骤: 1. **添加依赖**: 首先,你需要将Jedis库添加到你的项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.x.x</version> <!-- 更新至最新的稳定版本 --> </dependency> ``` 2. **创建连接**: 创建Jedis实例,用于与Redis服务器建立连接: ```java Jedis jedis = new Jedis("localhost", 6379); // 连接本地Redis,默认端口 ``` 3. **设置与获取值**: - 设置(key-value)对: ```java jedis.set("myKey", "myValue"); ``` - 获取值: ```java String value = jedis.get("myKey"); ``` 4. **列表操作**: - 存储列表: ```java jedis.lpush("listName", "item1", "item2"); ``` - 获取列表内容: ```java List<String> list = jedis.lrange("listName", 0, -1); ``` 5. **哈希表操作**: - 存储哈希表: ```java jedis.hset("hashKey", "field1", "value1"); ``` - 获取哈希表字段值: ```java String fieldValue = jedis.hget("hashKey", "field1"); ``` 6. **集合操作**: - 添加元素: ```java jedis.sadd("setKey", "element1", "element2"); ``` - 判断元素是否存在: ```java boolean exists = jedis.sismember("setKey", "element1"); ``` 7. **关闭连接**: 当完成所有操作后,记得关闭Jedis连接释放资源: ```java jedis.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值