企业网站管理系统 才能湖南岚鸿,网站如何优化一个关键词,双线网站,网站建设的组织保障yum安装redis 使用以下命令#xff1a;直接将redis安装到Linux服务器#xff08;Xshell#xff09;中 yum -y install redis 启动redis 使用以下命令#xff0c;以后台运行方式启动redis redis-server /etc/redis.conf 操作redis 使用以下命令启动redis客户端 redis-…yum安装redis 使用以下命令直接将redis安装到Linux服务器Xshell中 yum -y install redis 启动redis 使用以下命令以后台运行方式启动redis redis-server /etc/redis.conf 操作redis 使用以下命令启动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
redis有五大基础数据类型
String字符串类型使用较多Hash字典类型List列表类型Set集合类型Zset有序集合类型
1.String字符串类型使用较多
简单动态字符串它是从键值对key-value的形式存储的根据key来存储和获取value值它的使用相对来说比较简单但是在实际项目中应用非常广泛 使用如下 set k1 v1添加数据 get k1查询数据 strlen k1查询字符串的长度 可以使用ex参数来设置字符串的过期时间 set k1 v1 ex 1000 设置1000s后过期删除 字符串的常见使用场景
存放用户登录信息存放文章详情和列表信息存放和累计网页的统计信息…………………………
2.Hash字典类型
字典类型又被称为散列类型或者是哈希表类型它是将一个键值key和一个特殊的“哈希表”关联起来这个“哈希表”包含两列数据字段和值他就相当于Java中的MapString , MapString , String结构。
假如我们使用字典类型来存储一篇文章的详情信息存储结构如下 同理我们也可以使用字典类型来存储用户信息并且字典类型来存储此类信息就无需手动序列化和反序列化数据了所以使用起来更加的方便和高校。 字典类型的使用如下 hset myhash key1 value1添加数据 hset myhash key1查询数据 字典类型的查询数据只能一个一个的查询不能一次全部查询完
通常情况下字典类类型会使用数组的方式来存储相关的数据但发生哈希冲突时才会使用链表的结构来存储数据。 添加多个数据hmset myhset age 16 sex 男 查询hget myhset age hget myhset sex 3.List列表类型
列表类型是一个使用链表结构存储的有序结构它的元素插入会按照先后顺序存储到链表结构中因此它的元素操作插入删除实时间复杂度为O(1))所以相对来说速度还是比较块的但它的查询时间复杂度为O(n)因此查询可能会比较慢。 列表类型使用如下 lpush list 1 2 3添加数据 lpop list 获取并删除列表的第一个元素 列表的典型使用场景可以有以下两个
消息队列列表类型可以使用rpush实现先进先出的功能同时又可以使用lpop轻松的弹出查询并删除第一个元素所以列表类型可以用来实现消息队列。文查列表对于博客站点来说用户和文字都越来越多时为了加快程序的响应速度我们可以把用户的文字存入到list中因为List是有序的结构所以这样又可以完美的实现分页功能从而加速了程序的相应速度。
4.Set集合类型 Set集合类型是一个无序并唯一的键值集合 集合类型使用场景如下 sadd myset v1 v2 v3 添加数据 smembers myset 查询集合中的所有数据 集合类型的经典使用场景如下
微博关注我的人和我关注的人都适合用集合存储可以保证人员不会重复中奖人信息也适合用集合类型存储这样可以保证一个人不会重复中奖
集合类型Set和列表类型List的区别如下
列表可以存储重复元素集合只能存储非重复元素列表是按照元素的先后顺序存储元素的而集合是无序方式存储元素的
5.Zset有序集合类型
有序集合类型相比于集合类型多了一个排序属性score分值,对于有序集合Zset来说每个存储元素相当于两个值组成的一个是有序结合的元素值一个属排序值有序集合的存储元素值也是不能重复的但分值是可以重复的。
当我们把学生的成绩存储在有序集合中它的存储结构如下所示 有序集合类型的使用如下 zadd zset1 3 golong 4 sql 1 redis添加数据 zrange zset 0 -1 查询所有数据 有序集合的经典使用场景如下
学生成绩排名粉丝列表根据关注的先后时间排序
Spring Boot集成Redis的详细教程
首先我们需要创建一个Spring Boot项目。可以使用IDEA或者Eclipse等工具创建也可以直接在命令行中使用Spring Initializr来创建。这里我们以IDEA为例步骤如下
打开IntelliJ IDEA点击Create New Project。选择Spring Initializr点击Next。填写项目的基本信息如Group、Artifact、Name等点击Next。选择需要的依赖这里我们需要添加Web和Redis的依赖点击Next。确认项目的设置点击Finish等待项目创建完成。
三、添加Redis依赖
在项目的pom.xml文件中添加Spring Boot对Redis的支持。代码如下
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency
/dependencies四、配置Redis
在application.properties文件中配置Redis的相关信息。代码如下
spring.redis.hostlocalhost
spring.redis.port6379五、创建Redis配置类
在项目中创建一个配置类用于配置RedisTemplate。代码如下
Configuration
public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory factory) {RedisTemplateString, Object template new RedisTemplate();template.setConnectionFactory(factory);return template;}
}六、使用RedisTemplate操作Redis
在需要操作Redis的地方注入RedisTemplate然后使用其提供的方法进行操作。代码如下
Service
public class UserService {Autowiredprivate RedisTemplateString, Object redisTemplate;// ...其他方法...
}七、测试Redis操作
为了测试Redis的操作我们可以在UserService中添加一个方法用于向Redis中添加和获取用户信息。代码如下
Service
public class UserService {Autowiredprivate RedisTemplateString, Object 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的发布/订阅功能实现消息的广播和接收。