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

毕节网站网站建设网站如何防止被攻击

毕节网站网站建设,网站如何防止被攻击,目前it行业哪个方向前景最好,公众号怎么制作投票活动目录 前言1. 问题所示2. 原理分析3. 拓展 前言 对于这方面的相关知识推荐阅读: Redis框架从入门到学精(全)Java关于RedisTemplate的使用分析 附代码java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全) …

目录

  • 前言
  • 1. 问题所示
  • 2. 原理分析
  • 3. 拓展

前言

对于这方面的相关知识推荐阅读:

  1. Redis框架从入门到学精(全)
  2. Java关于RedisTemplate的使用分析 附代码
  3. java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)

1. 问题所示

某些信息存储在缓存中,对此修改缓存,想通过可视化的Redis Desktop来操作,但是发现都是二进制的数据,不好操作:
在这里插入图片描述

于是想着以命令行的方式修改,但又怕改错,毕竟都是难以读懂的二进制数据,如图所示:(由于信息比较隐私,此处打码了)

在这里插入图片描述

2. 原理分析

RedisTemplate 存储的数据通常是二进制的。Redis 是一个键值存储系统,它存储的值可以是字符串、二进制数据、甚至是序列化的对象。

RedisTemplate 是 Spring Data Redis 提供的一个类,用于在 Spring 应用中与 Redis 进行交互。

它提供了一种在 Java 对象和 Redis 数据之间进行序列化和反序列化的机制。
默认情况下,RedisTemplate 使用 JDK 的序列化机制将 Java 对象转换为二进制数据,并存储在 Redis 中。

3. 拓展

在使用Redis作为数据存储时,合理的键值序列化配置和RedisTemplate的使用方式对于应用性能和数据可维护性至关重要。

默认情况下,Spring Data Redis使用JdkSerializationRedisSerializer作为RedisTemplate的默认序列化器

这意味着键和值都将以Java对象的二进制形式进行序列化,并以字节流的方式存储在Redis中。

  • 不对值进行额外序列化的理由:虽然值以二进制形式存储,但在Java代码中获取值时会进行反序列化,因此这不会影响业务逻辑和数据的正确性。
    同时,对值进行额外的序列化可能会限制存储的数据类型,例如将值序列化为字符串将仅能存储字符串类型的值。

  • 额外序列化的场景
    如果需要存储复杂的数据结构或非字符串类型的值,可以选择配置RedisTemplate使用其他序列化器,例如JSON序列化器或自定义序列化器。
    这样可以更灵活地存储各种类型的数据,但需要注意在读取时正确地反序列化。

  • 特殊值的处理
    对于包含特殊类型(如LocalDateTime、LocalDate、LocalTime等)的值,可能需要注意转换为字符串或选择合适的序列化方式。

通过理解Redis默认行为和灵活运用RedisTemplate,可以更好地应对不同类型数据的存储需求,从而优化系统性能并提升开发效率

给出一个Demo代码更加容易懂:

先引入这两个依赖包:

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>2.6.5.RELEASE</version> <!-- 使用你项目中的实际版本 -->
</dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version> <!-- 使用你项目中的实际版本 -->
</dependency>

对key进行可视化:

import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;public class Demo {public static void main(String[] args) {// 创建 Redis 连接配置JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();jedisConnectionFactory.setHostName("localhost");jedisConnectionFactory.setPort(6379);// jedisConnectionFactory.setPassword(RedisPassword.of("your-redis-password"));// 手动调用 afterPropertiesSet()jedisConnectionFactory.afterPropertiesSet();// 创建 RedisTemplate 实例RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();//设置String类型的key设置序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());//设置Hash类型的key设置序列化器redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setConnectionFactory(jedisConnectionFactory);redisTemplate.afterPropertiesSet();// 存储字符串redisTemplate.opsForValue().set("message", "Hello, Redis!");// 获取字符串String message = (String) redisTemplate.opsForValue().get("message");System.out.println("Message: " + message);// 存储哈希HashOperations<String, String, String> hashOperations = redisTemplate.opsForHash();hashOperations.put("user", "id", "1");hashOperations.put("user", "name", "码农研究僧");// 获取哈希String userId = hashOperations.get("user", "id");String userName = hashOperations.get("user", "name");System.out.println("User ID: " + userId);System.out.println("User Name: " + userName);}
}

如果不对key可视化,只需要删除这两行代码即可:

//设置String类型的key设置序列化器
redisTemplate.setKeySerializer(new StringRedisSerializer());
//设置Hash类型的key设置序列化器
redisTemplate.setHashKeySerializer(new StringRedisSerializer());

截图如下:

在这里插入图片描述

http://www.yayakq.cn/news/138400/

相关文章:

  • 网站备案信息被工信部删除58同城的网站建设
  • php做的网站建设亚马逊注册没有公司网站怎么做
  • 莱芜警方网站官网北京百度推广公司
  • 怎么做属于自己的音乐网站手机版网站模板
  • 企业网站招聘可以怎么做外贸网站建设定制开发
  • 可以做线路板网站的背景图有哪些网站可以做ppt
  • 邯郸手机网站开发价格快速做效果图的网站叫什么软件
  • 网站制作哪家专业贵州小程序制作开发
  • 中信建设 官方网站深圳购物商城网站设计
  • 制作一个网站的费用ps切片做网站
  • 怎样创建音乐网站全国网站设计排名
  • 做网站怎么开发程序信息化建设 网站建设等方面
  • 秦皇岛开发区建设局网站企业宣传网站模板下载
  • 个人网站意义建站模板与网站案例展示
  • 做网站主流网站p2f网站系统
  • A华企网络网站建设博物馆设计公司排名
  • 阿里云服务器618seo口碑优化
  • 照片展示网站模板免费下载notepad wordpress
  • 网站名称和备案公司名称不一样在虚拟主机上建设多个网站
  • 贵阳企业网站模板武威建设厅网站
  • 做的网站在不同浏览器做网站一般收取多少钱
  • 做pc端网站案例织梦收费
  • 公司做网站需要准备什么资料华为手机WordPress
  • 广州网站建设 企业如何做logo模板下载网站
  • 网站开发主题惠州建设工程造价管理站网站
  • 北京网站开发建设wordpress网站的根目录在哪里
  • 网站设计的特点nginx伪静态 wordpress
  • 电子商务的网站开发网站建设学那些课
  • 网站备案变更公司名称湖南省建设工程施工合同
  • 网站推广的名词解释磁力猫最佳搜索引擎入口