-
首先安装redis
-
Windows 安装
下载地址:https://github.com/microsoftarchive/redis/releases
下载 msi 文件双击即可安装,再打开一个 cmd 窗口,使用 cd 命令切换目录到 redis安装路径下 运行:
redis-server.exe redis.windows.conf
即可运行 redis。如果想方便的话,可以把 redis 的安装路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。
-
Ubuntu 安装
在 ubuntu 系统中安装可以使用以下命令:
sudo apt-get update sudo apt-get install redis-server
启动 redis 命令 :redis-server
查看是否启动输入以下命令:
redis-cli # 输出 redis 127.0.0.1:6379> # 然后输入 ping redis 127.0.0.1:6379> ping PONG # 输出 PONG,说明成功运行
-
-
在 springboot 项目的 pom 文件中引入一下依赖
<!--spring封装的redis,可以不导入,如果不行的话建议导入--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- jedis 连接池依赖--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>
-
jedis 基础使用,不使用连接池
Jedis jedis = new Jedis("localhost"); jedis.set(key, value); jedis.close();
通过 Jedis 类 实例化一个 jedis 对象后,即可调用相应的方法操作redis。
-
jedis 高级使用,通过连接池获取 jedis 对象
-
首先在 springboot 配置文件 application.yml 中添加如下配置
spring: redis: host: localhost # 连接的 ip 地址 password: # 密码,没有的话留空,或者不配置 port: 6379 # redis 的端口 database: 0 # 数据库索引,通常为0 timeout: 10000 # 连接超时时间,单位毫秒 jedis: pool: max-active: 10 # 连接池最大连接数 min-idle: 5 # 连接池最小空闲连接 max-idle: 20 # 连接池最大空闲连接 max-wait: -1 # 连接池最大阻塞等待时间(负值表示无限制,单位毫秒)
-
接下来创建 JedisConfig.java 文件,用于配置 Jedis 连接池
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; @Configuration public class JedisConfig { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.timeout}") private int timeout; @Value("${spring.redis.jedis.pool.max-wait}") private int maxWait; @Value("${spring.redis.jedis.pool.max-idle}") private int maxIdle; @Value("${spring.redis.jedis.pool.minidle}") private int minIdle; @Bean("jedisPool") public JedisPool jedisPool() { JedisPoolConfig config = new JedisPoolConfig(); config.setMinIdle(minIdle); config.setMaxWaitMillis(maxWait); config.setMaxIdle(maxIdle); // 这里我的redis没有设置密码,所以创建连接池就没有使用密码 return new JedisPool(config, host, port, timeout); } }
-
最后创建 JedisService 文件,用于操作 redis
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; @Service("jedisService") public class JedisService { @Autowired JedisPool jedisPool; public void set(String key, String value) { try (Jedis resource = jedisPool.getResource()) { resource.set(key, value); } } public void update(String key, String value) { try (Jedis jedis = jedisPool.getResource()) { jedis.set(key, value); } } public Object get(String key) { try (Jedis jedis = jedisPool.getResource()) { return jedis.get(key); } } public void delete(String... key) { try (Jedis jedis = jedisPool.getResource()) { jedis.del(key); } } }
注意:通过 jedisPool.getResources() 时使用 Java try-with-resource 语法,使得在操作 redis 后自动关闭连接。
-
网友评论