使用以下命令:直接将redis安装到Linux服务器(Xshell)中yum -y install redis
使用以下命令,以后台运行方式启动redis
redis-server /etc/redis.conf &
使用以下命令启动redis客户端
redis-cli
具体可操作如下:
redis-cli:打开客户端
set testname zhangsan:存放一个key
get testname:读取一个key
设置远程连接
a.将redis配置文件下载到本地;redis配置文件是linux下的/etc/redis.conf
b.将redis.conf中的“bin 127.0.0.1”注释掉
c.将redis.conf中的“protected-mode yes"改为:“protected-mode no"
d.将修饰后的redis.conf上传至linux下 的/etc目录
e.使用命令”redis-cli shutdown“先关闭redis服务;在使用”redis-server /etc/redis.conf &“开启redis服务
f.云服务防火墙或安全策略里面开放redis端口6379
String | 字符串类型(使用较多) |
Hash | 字典类型 |
List | 列表类型 |
Set | 集合类型 |
Zset | 有序集合类型 |
简单动态字符串,它是从键值对key-value的形式存储的,根据key来存储和获取value值,它的使用相对来说比较简单,但是在实际项目中应用非常广泛:
使用如下:
set k1 v1:添加数据
get k1:查询数据
strlen k1:查询字符串的长度
可以使用ex参数来设置字符串的过期时间
set k1 v1 ex 1000 :设置1000s后过期(删除)
字符串的常见使用场景:
字典类型又被称为散列类型或者是哈希表类型,它是将一个键值(key)和一个特殊的“哈希表”关联起来,这个“哈希表”包含两列数据:字段和值,他就相当于Java中的Map
假如我们使用字典类型来存储一篇文章的详情信息,存储结构如下:
同理,我们也可以使用字典类型来存储用户信息,并且字典类型来存储此类信息就无需手动序列化和反序列化数据了,所以使用起来更加的方便和高校。
字典类型的使用如下:
hset myhash key1 value1:添加数据
hset myhash key1:查询数据
字典类型的查询数据只能一个一个的查询,不能一次全部查询完!!
通常情况下,字典类类型会使用数组的方式来存储相关的数据,但发生哈希冲突时,才会使用链表的结构来存储数据。
添加多个数据:hmset myhset age "16" sex "男"
查询:hget myhset age
hget myhset sex
列表类型是一个使用链表结构存储的有序结构,它的元素插入会按照先后顺序存储到链表结构中,因此,它的元素操作(插入删除实时间复杂度为O(1)),所以相对来说速度还是比较块的,但它的查询时间复杂度为O(n),因此查询可能会比较慢。
列表类型使用如下:
lpush list 1 2 3:添加数据
lpop list :获取并删除列表的第一个元素
列表的典型使用场景可以有以下两个:
Set:集合类型是一个无序并唯一的键值集合
集合类型使用场景如下:
sadd myset v1 v2 v3 :添加数据
smembers myset :查询集合中的所有数据
集合类型的经典使用场景如下:
集合类型(Set)和列表类型(List)的区别如下:
有序集合类型相比于集合类型多了一个排序属性score(分值),对于有序集合Zset来说,每个存储元素相当于两个值组成的,一个是有序结合的元素值,一个属排序值,有序集合的存储元素值也是不能重复的,但分值是可以重复的。
当我们把学生的成绩存储在有序集合中,它的存储结构如下所示:
有序集合类型的使用如下:
zadd zset1 3 golong 4 sql 1 redis:添加数据
zrange zset 0 -1 :查询所有数据
有序集合的经典使用场景如下:
首先,我们需要创建一个Spring Boot项目。可以使用IDEA或者Eclipse等工具创建,也可以直接在命令行中使用Spring Initializr来创建。这里我们以IDEA为例,步骤如下:
三、添加Redis依赖
在项目的pom.xml文件中,添加Spring Boot对Redis的支持。代码如下:
org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-web
四、配置Redis
在application.properties文件中,配置Redis的相关信息。代码如下:
spring.redis.host=localhost
spring.redis.port=6379
五、创建Redis配置类
在项目中创建一个配置类,用于配置RedisTemplate。代码如下:
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
RedisTemplate template = new RedisTemplate<>();
template.setConnectionFactory(factory);
return template;
}
}
六、使用RedisTemplate操作Redis
在需要操作Redis的地方,注入RedisTemplate,然后使用其提供的方法进行操作。代码如下:
@Service
public class UserService {
@Autowired
private RedisTemplate redisTemplate;
// ...其他方法...
}
七、测试Redis操作
为了测试Redis的操作,我们可以在UserService中添加一个方法,用于向Redis中添加和获取用户信息。代码如下:
@Service
public class UserService {
@Autowired
private RedisTemplate redisTemplate;
// ...其他方法...
public void addUser(String key, User user) {
redisTemplate.opsForValue().set(key, user);
}
public User getUser(String key) {
return (User) redisTemplate.opsForValue().get(key);
}
}
八、启动Spring Boot应用并测试Redis操作
启动Spring Boot应用后,我们可以使用Postman或者浏览器等工具,调用UserService的addUser和getUser方法,测试Redis的操作。如果一切正常,我们应该可以看到用户信息被正确地添加到Redis中,并且可以通过key获取到用户信息。
至此,我们已经成功地在Spring Boot项目中集成了Redis,并且可以正常使用RedisTemplate进行操作。在实际开发中,我们还可以使用Spring Data Redis提供的Repository接口,更方便地进行CRUD操作。同时,我们还可以使用Redis的发布/订阅功能,实现消息的广播和接收。