Redis简单使用

Redis数据库基本认知

简单的讲一下Redis数据库的基本常识---->作为记录

概述

  1. Redis:是什么 答:非关系型数据库(NOSQL)
  2. Redis有什么好处 答:通过内存存储数据,查询快,支持持久化安全,并发处理能力强,支持集群
  3. Redis主要使用场景 答:中央缓存—>使用Mybatis的二级缓存可能导致缓存数据不同步,导致数据失衡。还有其他很多

使用

1.下载 --在官网上下载—官网只有linux的版定 -----windows自己下载
2.使用–
在这里插入图片描述下次完成之后
3. 命令行使用
双击服务端,不加载配置文件的开启服务端,再双击客户端就可以直接使用输入命令就可以直接使用
4.加载配置文件启动服务端
CMD当前目录下 cmd
在这里插入图片描述
就可以了

5.配置文件
配置文件可配置 密码:requirepass–>设置它 淘汰机制 maxmemory-policy–>设置它 持久化配置(两种1.aof模式—>设置它appendonly 2.rdb模式 -->设置save)
6. 淘汰机制
volatile-lru : 设置过期的数据—>不常用的淘汰
volatile-ttl : 设置过期的数据—>快要过期的淘汰
volatile-random :设置过期的数据–>随机淘汰
allkeys-lru:不常用的淘汰
allkeys-random:随机淘汰
no-enviction–禁止淘汰
7.持久化
aof -->保存你的指令操作—>在访问在执行你的操作达到数据存储的效果---->不会保持你的查询指令操作
rdb–>保持你的数据
8.java客户端---->(jedis)
导包

	 /**
     * 测试Jedis客户端
     */
    @Test
    public void testJedis() {
        /*1.获得Jedis对象*/
        Jedis jedis = new Jedis();
        /*如果配置文件加载有密码就输入密码
         *   异常: redis.clients.jedis.exceptions.JedisDataException: ERR operation not permitted  //没有密码
         * */
        jedis.auth("zpshuai");
        jedis.set("name", "zp");
        jedis.lpush("key", "1", "2", "3");
        jedis.rpush("key", "3", "2", "1");
        String key1 = jedis.lpop("key");
        String key2 = jedis.rpop("key");
        System.out.println("2222222222222222222222222" + key1);
        System.out.println("3333333333333333333333333" + key2);
        List<String> key = jedis.lrange("key", 0, -1);
        key.forEach(e -> {
            System.out.println(e);
        });
        String name = jedis.get("name");
        System.out.println(name);
        jedis.close();
    }

连接池的使用

 @Test
    public void testJedisPool() {
        /*获得连接池*/
        GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
        /*获得连接池对象*/
        JedisPool jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379, 1000 * 3, "zpshuai");
        /*获得连接jedis对象*/
        Jedis jedis = jedisPool.getResource();
        String name = jedis.get("name");
        System.out.println(name);
        jedis.lrange("key", 0, -1).forEach(e -> {
            System.out.println(e);
        });
        jedis.flushDB();
        jedis.del("name");
        jedis.close();
        jedisPool.close();
    }

------->简单使用

Spring Boot是一个用于创建独立的、基于Spring的应用程序的框架,而Redis是一个开源的内存数据存储系统。结合使用Spring Boot和Redis可以实现高效的数据缓存和持久化。 在Spring Boot中使用Redis,首先需要在项目的pom.xml文件中添加Redis的依赖。然后,在application.properties或application.yml文件中配置Redis的连接信息,包括主机名、端口号、密码等。 接下来,可以通过使用Spring Data Redis来简化对Redis的操作。Spring Data Redis提供了一系列的注解和模板类,可以方便地进行数据的读取、写入和删除等操作。 以下是一个简单的示例,演示了如何在Spring Boot中使用Redis: 1. 添加依赖: 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 2. 配置Redis连接信息: 在application.properties或application.yml文件中添加以下配置: ```properties spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password= ``` 3. 创建Redis操作类: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; @Component public class RedisUtil { @Autowired private RedisTemplate<String, Object> redisTemplate; public void set(String key, Object value) { redisTemplate.opsForValue().set(key, value); } public Object get(String key) { return redisTemplate.opsForValue().get(key); } public void delete(String key) { redisTemplate.delete(key); } } ``` 4. 使用Redis操作类: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @Autowired private RedisUtil redisUtil; @GetMapping("/user/{id}") public User getUser(@PathVariable String id) { // 先从缓存中获取数据 User user = (User) redisUtil.get("user:" + id); if (user == null) { // 如果缓存中不存在,则从数据库中获取数据 user = userService.getUserById(id); // 将数据存入缓存 redisUtil.set("user:" + id, user); } return user; } } ``` 以上示例中,我们创建了一个RedisUtil类来封装对Redis的操作,然后在UserController中使用RedisUtil来实现对用户数据的缓存。当请求用户数据时,先从缓存中获取,如果缓存中不存在,则从数据库中获取,并将数据存入缓存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值