zzuli-production practice 2

1. 安装配置Redis并练习基础命令操作

  1. 官网:https://redis.io

  2. 中文网:Redis中文网

  3. 解压直接可以使用:

    • redis.windows.conf:配置文件

    • redis-cli.exe:redis的客户端

    • redis-server.exe:redis服务器端

安装Redis服务

1、由于上面虽然启动了redis,但是只要一关闭cmd窗口,redis服务就会停掉,所以考虑把redis安装为windows本地服务,随机启动。 2、安装服务

进入Redis安装目录执行以下命令:

redis-server --service-install redis.windows.conf --loglevel verbose

3、常用的redis服务命令。 ​

卸载服务:redis-server --service-uninstall ​

开启服务:redis-server --service-start ​

停止服务:redis-server --service-stop

  • 查看服务器信息info
  • 设置键值对set key value
  • 获取键值对get key
  • 删除键del key
  • 列出所有键keys *
  • 字符串自增incr key
  • 列表操作lpush key valuerpop key
  • 集合操作sadd key membersmembers key
  • 哈希操作hset key field valuehget key field
  • 排序sort key
  • 事务multiexec
  • 过期时间expire key seconds
  • 持久化save 或 bgsave

2. 练习Java客户端及SpringBoot项目中使用Redis

添加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置Redis
# application.properties
spring.redis.host=localhost
spring.redis.port=6379
使用RedisTemplate
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    public void setCache(String key, Object value) {
        redisTemplate.opsForValue().set(key, value);
    }

    public Object getCache(String key) {
        return redisTemplate.opsForValue().get(key);
    }
}

3. 完成案例,在查询方法中使用Redis做缓存

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @Autowired
    private RedisTemplate<String, User> redisTemplate;

    public User getUserById(int id) {
        String cacheKey = "user:" + id;
        User user = (User) redisTemplate.opsForValue().get(cacheKey);
        if (user == null) {
            // 如果缓存中没有数据,则从数据库中获取
            user = loadUserFromDatabase(id);
            // 将数据存入缓存
            redisTemplate.opsForValue().set(cacheKey, user);
        }
        return user;
    }

    private User loadUserFromDatabase(int id) {
        // 从数据库加载用户信息的代码
        // ...
    }
}

这样,每次调用 getUserById 方法时,都会先尝试从 Redis 缓存中获取数据。如果缓存中没有,则从数据库中加载并存入缓存,从而提高了查询效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值