Redis 插入中文乱码键

Java 代码:

bash 复制代码
    @Bean
    // 静态代理模式: Redis 客户端代理类增强
    public StringRedisTemplateProxy stringRedisTemplateProxy(RedisKeySerializer redisKeySerializer,
                                                             StringRedisTemplate stringRedisTemplate,
                                                             RedissonClient redissonClient) {
        stringRedisTemplate.setKeySerializer(redisKeySerializer); // UTF-8 实例化过
        return new StringRedisTemplateProxy(stringRedisTemplate, redisDistributedProperties, redissonClient);
    }
bash 复制代码
    @Override
    public void put(String key, Object value, long timeout, TimeUnit timeUnit) {
        // actual 是正确中文信息        
        String actual = value instanceof String ? (String) value : JSON.toJSONString(value);
        stringRedisTemplate.opsForValue().set(key, actual, timeout, timeUnit);
    }

验证:

bash 复制代码
redis-cli -p 6380 --raw

# 执行命令查看键 -> 中文乱码
KEYS *
index12306-ticket-service:train_station_remaining_ticket:2_åŒ---京å---_æ­å·žä¸œ
index12306-ticket-service:train_info:3
distributed_id_generator_config
index12306-ticket-service:train_station_remaining_ticket:1_济å---西_æ­å·žä¸œ
index12306-ticket-service:train_station_remaining_ticket:3_å---京_æµ·å®
index12306-ticket-service:train_station_price:3_åŒ---京_å¾·å·ž
index12306-ticket-service:region_train_station:åŒ---京_æ­å·ž
index12306-ticket-service:train_station_remaining_ticket:4_åŒ---京å---_æ­å·

解决方法:

-> 由于 Redis 中存储的键名本身是乱码格式 -> 清除数据 -> 重新写入

bash 复制代码
127.0.0.1:6380> FLUSHDB
OK
127.0.0.1:6380> KEYS *

127.0.0.1:6380> KEYS *
index12306-ticket-service:train_station_remaining_ticket:3_嘉兴_海宁
index12306-ticket-service:train_station_price:3_北京_杭州
index12306-ticket-service:train_station_remaining_ticket:1_南京南_杭州东
index12306-ticket-service:train_station_remaining_ticket:1_济南西_宁波
index12306-ticket-service:train_station_remaining_ticket:3_南京_嘉兴
相关推荐
Sand(ContextGate)几秒前
从零搭建电商智能导购 Agent:LangGraph 编排 + 三层记忆 + 熔断降级 + 生产部署全链路实战
redis·agent·fastapi·电商·chromadb·langgraph·智能导购
kyle~1 分钟前
软件缓存一致性
缓存
for_ever_love__5 分钟前
LangChain Text-to-SQL:让不会写 SQL 的人查数据库
数据库·sql·langchain·大模型·agent·rag·问答
梦想不只是梦与想19 分钟前
SQLAlchemy:查询与操作 (三)
数据库·python·sqlalchemy
Aric_Jones26 分钟前
WAL / CDC / 复制槽 /位点
数据库·oracle
草莓熊Lotso36 分钟前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j
bksczm40 分钟前
Redis基础篇之初识分布式
数据库·redis·分布式
jyOverQ43 分钟前
Redis 主从复制、Sentinel 和 Cluster 到底有什么区别?
java·redis·sentinel
for_ever_love__1 小时前
MySQL 索引类型全解:B+Tree / Hash / R-Tree / 全文 的底层差异,以及一次性建对的选型表
数据库·mysql·b+树·唯一索引·全文索引·索引类型·索引分类
仍然.9 小时前
Redis---缓存
数据库·redis·缓存