数据库
首页 > 数据库> > Redis 笔记 01:入门篇

Redis 笔记 01:入门篇

作者:互联网

Redis 笔记 01:入门篇

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息本文信息防爬虫替换信息
作者网站LYMTICShttps://lymtics.top
作者LYMTICS(樵仙)https://lymtics.top
联系方式contact@mails.rencontact@mails.ren
原文标题Redis 笔记 01:入门篇Redis 笔记 01:入门篇
原文地址https://www.cnblogs.com/lymtics/p/16439261.htmlhttps://www.cnblogs.com/lymtics/p/16439261.html
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

这是本人根据黑马视频学习 Redis 的相关笔记,系列文章导航:《Redis设计与实现》笔记与汇总

安装与运行

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息本文信息防爬虫替换信息
作者网站LYMTICShttps://lymtics.top
作者LYMTICS(樵仙)https://lymtics.top
联系方式contact@mails.rencontact@mails.ren
原文标题Redis 笔记 01:入门篇Redis 笔记 01:入门篇
原文地址https://www.cnblogs.com/lymtics/p/16439261.htmlhttps://www.cnblogs.com/lymtics/p/16439261.html
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

安装

安装依赖

yum install -y gcc tcl

下载到 /usr/local/src

wget https://download.redis.io/releases/redis-6.2.6.tar.gz

解压

tar -xzvf redis-6.2.6.tar.gz

安装

cd redis-6.2.6
make && make install

默认安装路径: /usr/local/bin

运行

redis-server

修改配置文件: /usr/local/src/redis.conf

# bind 127.0.0.1 -::1


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

bind 0.0.0.0

# daemonize no


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

daemonize yes

requirepass abc123

# 其他可选项:


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>


# 配置端口


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

port 6379
# 工作目录


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

dir .
# 数据库数量 默认16


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

database 16
# 最大内存


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

maxmemory 512mb
# 日志文件,默认为空


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

logfile "redis.log"

再次运行(基于配置文件):

redis-server redis.conf

自动启动

vim /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载服务:

systemctl daemon-reload

剩下的就可以自行发挥了 enablestartstop

客户端连接

命令行


[root@localhost redis-6.2.6]# redis-cli
127.0.0.1:6379> AUTH
(error) ERR wrong number of arguments for 'auth' command
127.0.0.1:6379> AUTH abc123
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name jack
OK
127.0.0.1:6379> set age 12
OK
127.0.0.1:6379> get name
"jack"
127.0.0.1:6379> get age
"12"
127.0.0.1:6379> SELECT 1

图形化界面

先把 CentOS 防火墙关闭掉:

如果连不上,参考【windows连不上虚拟机redis服务

systemctl stop firewalld
systemctl disable firewalld

几款软件:

数据结构

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息本文信息防爬虫替换信息
作者网站LYMTICShttps://lymtics.top
作者LYMTICS(樵仙)https://lymtics.top
联系方式contact@mails.rencontact@mails.ren
原文标题Redis 笔记 01:入门篇Redis 笔记 01:入门篇
原文地址https://www.cnblogs.com/lymtics/p/16439261.htmlhttps://www.cnblogs.com/lymtics/p/16439261.html
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

可以在 Command reference – Redis 查看各种命令的介绍

或通过如下方式查询某一个类型的指令:

help @XXX
# 如:


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

help @generic

或如下方式查看某一具体的指令:

help XXX
# 如:


<div class=anti_spider><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div class=table-wrapper><table><thead><tr><th>本文信息<th>本文信息<th>防爬虫替换信息<tbody><tr><td><strong>作者网站</strong><td><a href=https://lymtics.top target=_blank>LYMTICS</a><td><code>https://lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>https://lymtics.top</code><tr><td><strong>联系方式</strong><td>contact@mails.ren<td><code>contact@mails.ren</code><tr><td><strong>原文标题</strong><td>Redis 笔记 01:入门篇<td><code>Redis 笔记 01:入门篇</code><tr><td><strong>原文地址</strong><td><a href=https://www.cnblogs.com/lymtics/p/16439261.html target=_blank>https://www.cnblogs.com/lymtics/p/16439261.html</a><td><code>https://www.cnblogs.com/lymtics/p/16439261.html</code></table><ul><li>如果您看到了此内容,则本文可能是恶意爬取原作者的文章,建议返回原站阅读,谢谢您的支持</li><li>原文会不断地<strong>更新和完善</strong>,<strong>排版和样式会更加适合阅读</strong>,并且<strong>有相关配图</strong></li><li>如果爬虫破坏了上述链接,可以访问 `lymtics.top` 获取更多信息</li></ul><div><mark>★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★</mark></div><div><img src=https://image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

help SET

通用命令

通用指令是部分数据类型的,都可以使用的指令,常见的有:

String

介绍:

String 类型,也就是字符串类型,是 Redis 中最简单的存储类型。其 value 是字符串,不过根据字符串的格式不同,又可以分为 3 类:

不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不能超过512m。

命令:

多层级:

Redis 的 key 允许有多个单词形成层级结构,多个单词之间用 : 隔开,例如:

SET user:boy:1:name Jack
SET user:boy:1:age 18

如果 value 是一个 Java 对象,例如一个 User 对象,则可以将对象序列化为 JSON 字符串后存储:

KEY VALUE
xx:user:1 {"id":1, "name": "Jack", "age": 21}
xx:product:2 {"id":1, "name": "小米11", "price": 4999}

Hash

介绍:

上述将对象序列化为 String 的方式在修改时很不方便,可以用 Hash 将对象的每个字段独立存储,可以针对单个字段做 CURD:

常用命令:

List

介绍:

Redis 中的 List 类型与 Java 中的 LinkedList 类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。
特征也与 LinkedList 类似:

常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等。

命令:

Set

类似 Java 中的 HashSet,特征:

命令:

SortedSet

Redis 的 SortedSet 是一个可排序的 set 集合,与 Java 中的 TreeSet 有些类似,但底层数据结构却差别很大。SortedSet 中的每一个元素都带有一个 score 属性,可以基于 score 属性对元素排序,底层的实现是一个跳表(SkipList)加 hash 表。

特点:

命令:

注意: 所有的排名默认都是升序,如果要降序则在命令的 Z 后面添加 REV 即可

Java客户端

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息本文信息防爬虫替换信息
作者网站LYMTICShttps://lymtics.top
作者LYMTICS(樵仙)https://lymtics.top
联系方式contact@mails.rencontact@mails.ren
原文标题Redis 笔记 01:入门篇Redis 笔记 01:入门篇
原文地址https://www.cnblogs.com/lymtics/p/16439261.htmlhttps://www.cnblogs.com/lymtics/p/16439261.html
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

以 Jedis 为例讲解,并讲解了 Spring 的整合: SpringDataRedis (对各种客户端的整合,提供了一套统一的 API)

Jedis

快速入门

步骤一:导包

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.7.0</version>
</dependency>

步骤二:建立连接

private Jedis jedis;

@BeforeEach
void setUp() {
    jedis = new Jedis("192.168.1.12", 6379);
    jedis.auth("abc123");
    jedis.select(0);
}

步骤三:测试 string

@Test
void testString() {
	String result = jedis.set("name", "Jack");
    System.out.println("Result: " + result);
    String name = jedis.get("name");
    System.out.println("name = " + name);
}

步骤四:释放资源

@AferEach
void tearDown() {
    if (jedis != null) {
        jedis.close();
    }
}

连接池

public class JedisConnectionFactory {
    private static final JedisPool jedisPool;
    
    static {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        // 最大连接
        jedisPoolConfig.setMaxTotal(8);
        // 最大空闲连接
        jedisPoolConfig.setMaxIdle(8);
        // 最小空闲连接
        jedisPoolConfig.setMinIdle(0);
        // 设置最长等待时间, ms
        jedisPoolConfig.setMaxWaitMillis(200);
        jedisPool = new JedisPool(jedisPoolConfig, "192.168.150.101", 6379, 1000, "123321");    
    }
    
    public staic Jedis getJedis() {
        return jedisPool.getResource();
    }
}

SpringDataRedis

初步尝试

步骤一:导包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

步骤二:配置

spring:
  redis:
    host: centos.v
    port: 6379
    password: abc123
    lettuce:
      pool:
        max-active: 8
        max-idle: 8
        min-idle: 0
        max-wait: 100

步骤三:测试

@SpringBootTest
class LearnFrameApplicationTests {

	@Autowired
	private RedisTemplate redisTemplate;

	@Test
	void contextLoads() {
		// 写入测试
		redisTemplate.opsForValue().set("name1", "Value");
		// 获取
		Object name = redisTemplate.opsForValue().get("name");
		System.out.println(name);
	}

}

此时结果为:

原因: 默认采用 JdkSerializationRedisSerializer 进行序列化,我们要修改它为其他:

方案一:自定义序列化器

引入依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
</dependency>

自己创建 redisTemplate, 设置序列器

@Configuration
public class RedisConfig {

	@Bean
	public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
		// 创建 RedisTemplate 对象
		RedisTemplate<String, Object> template = new RedisTemplate<>();
		// 设置连接工厂
		template.setConnectionFactory(connectionFactory);
		// 创建JSON序列化工具
		GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
		// 设置 Key 的序列化
		template.setKeySerializer(RedisSerializer.string());
		template.setHashKeySerializer(RedisSerializer.string());
		// 设置 Value 的序列化
		template.setValueSerializer(jsonRedisSerializer);
		template.setHashValueSerializer(jsonRedisSerializer);

		return template;
	}
}

测试普通字符串:

@SpringBootTest
class LearnFrameApplicationTests {

	@Autowired
	private RedisTemplate<String, Object> redisTemplate;

	@Test
	void contextLoads() {
		// 写入测试
		redisTemplate.opsForValue().set("name", "Value");
		// 获取
		Object name = redisTemplate.opsForValue().get("name");
		System.out.println(name);
	}

}

测试对象:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
	private String name;
	private int age;
}
@Test
void testUser() {
    redisTemplate.opsForValue().set("user:100", new User("张三", 12));

    User o = (User) redisTemplate.opsForValue().get("user:100");
    System.out.println(o);
}

结果测试:

这样的话保存的额外信息会比较多,故有方案二:

方案二:基于字符串保存

上面的案例中,之所以能进行序列化和反序列化,是因为我们将类型信息保存在字段中了,这样对我们而言虽然方便了,但是却有点”奸臣掌权“的感觉。

其实我们可以让 Redis 只保存字符串,而序列化和反序列化的操作则由我们自己操作,以将大权夺回。

@Autowired
private StringRedisTemplate stringRedisTemplate;


@Test
void testString2() {
    stringRedisTemplate.opsForValue().set("name", "张飞");

    String name = stringRedisTemplate.opsForValue().get("name");

    System.out.println(name);
}

// 这是 Spring 默认的字符串序列化工具
private static final ObjectMapper mapper=  new ObjectMapper();

@Test
void testUser2() throws JsonProcessingException {
    User user = new User("赵云", 12);
    String json = mapper.writeValueAsString(user);
    stringRedisTemplate.opsForValue().set("user:200", json);
    String s = stringRedisTemplate.opsForValue().get("user:200");
    User user1 = mapper.readValue(s, User.class);
    System.out.println(user1);
}

Hash类型尝试


@Test
void testHash() {
    stringRedisTemplate.opsForHash().put("user:300", "name", "Lucy");
    stringRedisTemplate.opsForHash().put("user:300", "age", "12");
    Map<Object, Object> entries = stringRedisTemplate.opsForHash().entries("user:300");
    System.out.println(entries);
}

标签:01,lymtics,top,Redis,入门篇,key,原文
来源: https://www.cnblogs.com/lymtics/p/16439261.html