Redis如何把字符集的编码格式设置为UTF-8

一、问题复现(编码错乱)

刚安装好的redis在使用的过程中,若使用到了汉字,则在显示的时候,汉字是不能够正常显示的,因为redis在解析的过程中,会将汉字转换成其他编码的格式,如下图:

二、Redis支持哪些类型的编码?

Redis是一款开源的内存数据库,它可以用来存储字符串、哈希、列表、集合和有序集合等类型的键值对数据,支持灵活的多种字符集,从而丰富用户体验。

Redis支持的字符集包括US-ASCII、ISO⑻859⑴、UTF⑻、GBK等多种全球性字符集。US-ASCII字符集,也称为7位ASCII码,是最经常使用的字符集,其中的128个可打印的字符,在大多数英语语言中正确表示文本文件内容,Redis采取US-ASCII字符集存储和操作String类型的数据,以最大程度减少存储空间。

ISO⑻859⑴则是一种多国语言字符集,由基础的128个ASCII码组合而成,能够支持多国语言,Redis通过ISO⑻859⑴字符集来存储区别的多国语言,例如日语、法语和西班牙语等,从而提升国际化的编码效果和兼容性。

UTF⑻是目前最经常使用的Unicode字符集,由ISO 1756⑴:2018规范,它采取可变长度的编码对象,最多使用4个字节编码,这使得UTF⑻可以表示几近任意语言的字符,Redis使用UTF⑻字符集,处理中文字符内容,具有及时性,轻松上线和可扩大性,是目前行业上普遍推荐使用的字符集方案。

GBK字符集是由国家标准总局定义和部署的简体中文编码,Redis也支持使用,用来满足国内用户的使用需求,如果希望针对国内用户,使用Redis存储文本信息,可以斟酌使用GBK字符集,以提供较好的用户体验。

三、怎么通过设置,才能达到显示中文

3.1、临时设置

Redis 默认的编码格式是 ascii,如果需要在命令行中临时配置 Redis 的编码格式为 UTF-8,可以使用以下命令:

```

redis-cli --raw

```

其中,`--raw` 参数表示以二进制格式读取 Redis 的键值对,这样在输出时就不会使用 Redis 默认的编码格式,而是直接输出二进制值(即 UTF-8 编码的字符串)。

3.2、永久设置

查看当前redis启动的进程号

  • Windows系统:打开命令提示符(cmd)并输入tasklist | findstr redis-server,按Enter键运行该命令,将显示所有包含"redis-server"关键字的进程信息。

  • Linux/Mac系统:在终端中输入ps aux | grep redis-server,然后按Enter键运行该命令,将会列出所有与Redis相关的进程及其对应的PID(Process ID)。

关闭redis的服务之后,去到redis的配置文件中将字符集设置为utf-8并写入redis配置文件,可以在redis配置文件(redis.conf)中添加如下行:

这里居然没实现,有时间再看看

相关推荐
hehelm26 分钟前
AI 大模型接入 SDK —项目概述
linux·服务器·网络·数据库·c++
xiaofeichaichai36 分钟前
NestJS 实战:JWT 登录认证、Token 刷新与安全退出
redis·nestjs·jwt·twitter
Database_Cool_42 分钟前
阿里云 Lindorm vs Elasticsearch 检索存储一体对比:多模数据库一站式方案首选
数据库·阿里云
大郭鹏宇1 小时前
下篇:LangChain Agent 智能体从入门到实战(二)—— 记忆管理、中间件与最佳实践
网络·数据库·人工智能
Icoolkj1 小时前
ICOOLKJ 前后端分离项目完整部署文档(MySQL8.4+Redis+JDK21+Nginx+HTTPS+自动同步演示库)
redis·nginx·https
fīɡЙtīиɡ ℡1 小时前
本地进程缓存
缓存
数行拙笔1 小时前
Redis---set类型
数据库·redis·缓存
Leon-Ning Liu2 小时前
【真实经验分享】Oradebug抓取阻塞源SQL语句
数据库
观远数据2 小时前
消费品牌选型BI的能力边界:三类差异化场景的适配清单与排除项
数据库·人工智能·microsoft
TlSfoward2 小时前
爬虫指纹漂移监控与回归测试:JA3/JA4 变化为什么会影响线上验证 TLSFOWARD
数据库·爬虫·网络协议·搜索引擎