当前位置: 首页 > news >正文

家里做服务器开网站如何建立自己的商城网站

家里做服务器开网站,如何建立自己的商城网站,想开个网站建设的公司,国外网站发展建设Redis 是一个高性能的键值存储系统,支持多种数据结构。以下是 Redis 支持的 5 种基础数据类型及其在 Spring 中的应用: 1. String(字符串) 特点: 最基本的数据类型,二进制安全 最大能存储 512MB 可用于…

Redis 是一个高性能的键值存储系统,支持多种数据结构。以下是 Redis 支持的 5 种基础数据类型及其在 Spring 中的应用:

1. String(字符串)

特点

  • 最基本的数据类型,二进制安全

  • 最大能存储 512MB

  • 可用于缓存整数值、字符串或序列化对象

Spring 操作示例

// 设置值
redisTemplate.opsForValue().set("user:1:name", "张三");
redisTemplate.opsForValue().set("site:visits", "1000");// 获取值
String userName = redisTemplate.opsForValue().get("user:1:name");
Long visits = Long.parseLong(redisTemplate.opsForValue().get("site:visits"));// 原子性操作
redisTemplate.opsForValue().increment("site:visits"); // 自增1
redisTemplate.opsForValue().decrement("product:1:stock"); // 自减1
 

2. Hash(哈希)

特点

  • 适合存储对象

  • 每个 hash 可以存储 2³² - 1 个键值对

  • 比 String 类型更节省内存(针对对象存储)

Spring 操作示例

// 存储对象
Map<String, String> userMap = new HashMap<>();
userMap.put("name", "李四");
userMap.put("age", "28");
userMap.put("email", "lisi@example.com");
redisTemplate.opsForHash().putAll("user:2", userMap);// 获取单个字段
String name = (String) redisTemplate.opsForHash().get("user:2", "name");// 获取所有字段
Map<Object, Object> entries = redisTemplate.opsForHash().entries("user:2");// 修改单个字段
redisTemplate.opsForHash().put("user:2", "age", "29");
 

3. List(列表)

特点

  • 有序的字符串列表

  • 按照插入顺序排序

  • 适合做消息队列、最新消息排行等

Spring 操作示例

// 从左侧插入
redisTemplate.opsForList().leftPush("news:latest", "新闻1");
redisTemplate.opsForList().leftPushAll("news:latest", "新闻2", "新闻3");// 获取范围
List<String> latestNews = redisTemplate.opsForList().range("news:latest", 0, 9);// 从右侧弹出
String news = redisTemplate.opsForList().rightPop("news:latest");// 获取列表长度
Long size = redisTemplate.opsForList().size("news:latest");

4. Set(集合)

特点

  • 无序的字符串集合

  • 元素唯一不重复

  • 支持交集、并集、差集等操作

Spring 操作示例

// 添加元素
redisTemplate.opsForSet().add("user:1:follows", "user2", "user3", "user4");// 获取所有成员
Set<String> follows = redisTemplate.opsForSet().members("user:1:follows");// 判断是否成员
boolean isMember = redisTemplate.opsForSet().isMember("user:1:follows", "user2");// 集合运算
Set<String> commonFollows = redisTemplate.opsForSet().intersect("user:1:follows", "user:2:follows");

5. ZSet(有序集合)

特点

  • 有序且不重复的集合

  • 每个元素关联一个double类型的分数(score)

  • 适合做排行榜、带权重的队列

Spring 操作示例

java

// 添加元素
redisTemplate.opsForZSet().add("leaderboard", "player1", 100);
redisTemplate.opsForZSet().add("leaderboard", "player2", 85);// 获取排名
Set<String> topPlayers = redisTemplate.opsForZSet().reverseRange("leaderboard", 0, 9);// 获取分数
Double score = redisTemplate.opsForZSet().score("leaderboard", "player1");// 增加分数
redisTemplate.opsForZSet().incrementScore("leaderboard", "player1", 10);
 

Spring 中 Redis 的配置

@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);// 使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);ObjectMapper mapper = new ObjectMapper();mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);mapper.activateDefaultTyping(mapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);serializer.setObjectMapper(mapper);template.setValueSerializer(serializer);template.setKeySerializer(new StringRedisSerializer());template.setHashKeySerializer(new StringRedisSerializer());template.setHashValueSerializer(serializer);template.afterPropertiesSet();return template;}
}
 

实际应用场景

  1. String:缓存单个对象、计数器、分布式锁

  2. Hash:存储对象属性、购物车

  3. List:消息队列、最新列表

  4. Set:标签系统、共同好友

  5. ZSet:排行榜、延迟队列

选择合适的数据类型可以显著提高Redis的性能和内存使用效率。

http://www.dtcms.com/a/560293.html

相关文章:

  • 组建个人网站wordpress网站在哪里修改密码
  • 微信官方网站下载安装广告公司网络推广计划
  • 广州建设网站怎么做职业生涯规划大赛是干什么的
  • 设计网站vcgwordpress电子商务主题下载
  • vue seo 优化方案seo群发软件
  • 天津做国外网站澄城县城乡建设局网站
  • 做转发赚钱的网站oa网站建设价格
  • 北京网站设计制作网站天津做网站要多少钱
  • 小米果怎么做视频网站公司网站建设的请示
  • 二级网站怎么做做网站开发 用的最多的语言
  • 怎么做网站点击率监控工具东莞网站建设设计公司
  • 移动网站开发培训如何建立一个网站来卖东西
  • 成都网站建设公司创新互联做seo哪些网站会好点
  • 图书管理系统网站开发西昌网站建设公司
  • 淘宝客网站返利程序昆明商城网站开发
  • 大兴网站建设服务公司包头网站开发建设
  • 河南省建设厅网站 吴浩网络营销工具中
  • 自己开发一个网站多少钱阳江网红打卡景点
  • 网站信息抽查评估网站建设公司国内技术最强
  • 亿唐微方网站建设杭州建设工程网
  • 建设网站服务器怎么弄网店运营管理与营销推广
  • 汕头网站建设设计公司淘宝客网站静态还是动态好
  • 各大网站rss订阅源地址9158个人空间登录
  • 删负面的网站中小企业网站建设开题报告
  • 百度推广移动端网站大兴网站定制开发
  • 太原谁家网站做的好在线设计平台市场环境
  • 城乡建设部网站 挂证域名的申请及注册流程
  • 咨询网站公司建设计划书网站建设和实现论文
  • 网站建设使用的什么软件网站设计技术文章
  • dw做静态网站百度seo关键词排名优化软件