­

Redis 筆記 01:入門篇

Redis 筆記 01:入門篇

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息 本文信息 防爬蟲替換信息
作者網站 LYMTICS //lymtics.top
作者 LYMTICS(樵仙) //lymtics.top
聯繫方式 contact@mails.ren contact@mails.ren
原文標題 Redis 筆記 01:入門篇 Redis 筆記 01:入門篇
原文地址 //www.cnblogs.com/lymtics/p/16439261.html //www.cnblogs.com/lymtics/p/16439261.html
  • 如果您看到了此內容,則本文可能是惡意爬取原作者的文章,建議返回原站閱讀,謝謝您的支持
  • 原文會不斷地更新和完善排版和樣式會更加適合閱讀,並且有相關配圖
  • 如果爬蟲破壞了上述鏈接,可以訪問 `lymtics.top` 獲取更多信息
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

這是本人根據黑馬視頻學習 Redis 的相關筆記,系列文章導航:《Redis設計與實現》筆記與匯總

安裝與運行

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息 本文信息 防爬蟲替換信息
作者網站 LYMTICS //lymtics.top
作者 LYMTICS(樵仙) //lymtics.top
聯繫方式 contact@mails.ren contact@mails.ren
原文標題 Redis 筆記 01:入門篇 Redis 筆記 01:入門篇
原文地址 //www.cnblogs.com/lymtics/p/16439261.html //www.cnblogs.com/lymtics/p/16439261.html
  • 如果您看到了此內容,則本文可能是惡意爬取原作者的文章,建議返回原站閱讀,謝謝您的支持
  • 原文會不斷地更新和完善排版和樣式會更加適合閱讀,並且有相關配圖
  • 如果爬蟲破壞了上述鏈接,可以訪問 `lymtics.top` 獲取更多信息
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

安裝

安裝依賴

yum install -y gcc tcl

下載到 /usr/local/src

wget //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=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//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=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

daemonize yes

requirepass abc123

# 其他可選項:


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>


# 配置端口


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

port 6379
# 工作目錄


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

dir .
# 數據庫數量 默認16


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

database 16
# 最大內存


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

maxmemory 512mb
# 日誌文件,默認為空


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//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

幾款軟件:

數據結構

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息 本文信息 防爬蟲替換信息
作者網站 LYMTICS //lymtics.top
作者 LYMTICS(樵仙) //lymtics.top
聯繫方式 contact@mails.ren contact@mails.ren
原文標題 Redis 筆記 01:入門篇 Redis 筆記 01:入門篇
原文地址 //www.cnblogs.com/lymtics/p/16439261.html //www.cnblogs.com/lymtics/p/16439261.html
  • 如果您看到了此內容,則本文可能是惡意爬取原作者的文章,建議返回原站閱讀,謝謝您的支持
  • 原文會不斷地更新和完善排版和樣式會更加適合閱讀,並且有相關配圖
  • 如果爬蟲破壞了上述鏈接,可以訪問 `lymtics.top` 獲取更多信息
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

可以在 Command reference – Redis 查看各種命令的介紹

或通過如下方式查詢某一個類型的指令:

help @XXX
# 如:


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

help @generic

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

help XXX
# 如:


<div class=anti_spider><div><img src=//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=//lymtics.top target=_blank>LYMTICS</a><td><code>//lymtics.top</code><tr><td><strong>作者</strong><td>LYMTICS(樵仙)<td><code>//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=//www.cnblogs.com/lymtics/p/16439261.html target=_blank>//www.cnblogs.com/lymtics/p/16439261.html</a><td><code>//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=//image.lymtics.top/common/logo/default.png loading=lazy></div></div></div>

help SET

通用命令

通用指令是部分數據類型的,都可以使用的指令,常見的有:

  • KEYS:查看符合模板的所有 key【不建議在生產環境使用】
  • DEL:刪除一個指定的 key
  • EXISTS:判斷 key 是否存在
  • EXPIRE:給一個 key 設置有效期,有效期到期時該 key 會被自動刪除
  • TTL:查看一個 KEY 的剩餘有效期

String

介紹:

String 類型,也就是字符串類型,是 Redis 中最簡單的存儲類型。其 value 是字符串,不過根據字符串的格式不同,又可以分為 3 類:

  • string:普通字符串
  • int:整數類型,可以做自增、自減操作
  • float:浮點類型,可以做自增、自減操作

不管是哪種格式,底層都是位元組數組形式存儲,只不過是編碼方式不同。字符串類型的最大空間不能超過512m。

命令:

  • SET : 添加或者修改已經存在的一個 String 類型的鍵值對
  • GET : 根據 key 獲取 String 類型的 value
  • MSET : 批量添加多個 String 類型的鍵值對
  • MGET : 根據多個 key 獲取多個 String 類型的 value
  • INCR : 讓一個整型的 key 自增 1
  • INCRBY : 讓一個整型的 key 自增並指定步長,例如:incrby num 2 讓 num 值自增 2
  • INCRBYFLOAT : 讓一個浮點類型的數字自增並指定步長
  • SETNX : 添加一個 String 類型的鍵值對,前提是這個 key 不存在,否則不執行
  • SETEX : 添加一個 String 類型的鍵值對,並且指定有效期

多層級:

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:

常用命令:

  • HSET key field value : 添加或者修改 hash 類型 key 的 field 的值
  • HGET key field : 獲取一個 hash 類型 key 的 field 的值
  • HMSET : 批量添加多個 hash 類型 key 的 field 的值
  • HMGET : 批量獲取多個 hash 類型 key 的 field 的值
  • HGETALL : 獲取一個 hash 類型的 key 中的所有的 field 和 value
  • HKEYS : 獲取一個 hash 類型的 key 中的所有的 field
  • HVALS : 獲取一個 hash 類型的 key 中的所有的 value
  • HINCRBY: : 讓一個 hash 類型 key 的字段值自增並指定步長
  • HSETNX : 添加一個 hash 類型的 key 的 field 值,前提是這個 field 不存在,否則不執行

List

介紹:

Redis 中的 List 類型與 Java 中的 LinkedList 類似,可以看做是一個雙向鏈表結構。既可以支持正向檢索和也可以支持反向檢索。
特徵也與 LinkedList 類似:

  • 有序
  • 元素可以重複
  • 插入和刪除快
  • 查詢速度一般

常用來存儲一個有序數據,例如:朋友圈點贊列表,評論列表等。

命令:

  • LPUSH key element ... : 向列表左側插入一個或多個元素
  • LPOP key : 移除並返回列表左側的第一個元素,沒有則返回 nil
  • RPUSH key element ... : 向列表右側插入一個或多個元素
  • RPOP key : 移除並返回列表右側的第一個元素
  • LRANGE key star end : 返回一段角標範圍內的所有元素
  • BLPOP和BRPOP : 與 LPOP 和 RPOP 類似,只不過在沒有元素時等待指定時間,而不是直接返回 nil

Set

類似 Java 中的 HashSet,特徵:

  • 無序
  • 元素不可重複
  • 查找快
  • 支持交集、並集、差集等功能

命令:

  • SADD key member ... : 向 set 中添加一個或多個元素

  • SREM key member ... : : 移除 set 中的指定元素

  • SCARD key : 返回 set 中元素的個數

  • SISMEMBER key member : 判斷一個元素是否存在於 set 中

  • SMEMBERS : 獲取 set 中的所有元素

  • SINTER key1 key2 ... : 求 key1 與 key2 的交集

  • SDIFF key1 key2 ... : 求 key1 與 key2 的差集

  • SUNION key1 key2 .. : 求 key1 和 key2 的並集

SortedSet

Redis 的 SortedSet 是一個可排序的 set 集合,與 Java 中的 TreeSet 有些類似,但底層數據結構卻差別很大。SortedSet 中的每一個元素都帶有一個 score 屬性,可以基於 score 屬性對元素排序,底層的實現是一個跳錶(SkipList)加 hash 表。

特點:

  • 可排序
  • 元素不重複
  • 查詢速度快
  • 因為 SortedSet 的可排序特性,經常被用來實現排行榜這樣的功能。

命令:

  • ZADD key score member : 添加一個或多個元素到 sorted set ,如果已經存在則更新其 score 值
  • ZREM key member : 刪除 sorted set 中的一個指定元素
  • ZSCORE key member : : 獲取 sorted set 中的指定元素的 score 值
  • ZRANK key member : 獲取 sorted set 中的指定元素的排名
  • ZCARD key : 獲取 sorted set 中的元素個數
  • ZCOUNT key min max : 統計 score 值在給定範圍內的所有元素的個數
  • ZINCRBY key increment member : 讓 sorted set 中的指定元素自增,步長為指定的 increment 值
  • ZRANGE key min max : 按照 score 排序後,獲取指定排名範圍內的元素
  • ZRANGEBYSCORE key min max : 按照 score 排序後,獲取指定 score 範圍內的元素
  • ZDIFF、ZINTER、ZUNION : 求差集、交集、並集

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

Java客戶端

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
本文信息 本文信息 防爬蟲替換信息
作者網站 LYMTICS //lymtics.top
作者 LYMTICS(樵仙) //lymtics.top
聯繫方式 contact@mails.ren contact@mails.ren
原文標題 Redis 筆記 01:入門篇 Redis 筆記 01:入門篇
原文地址 //www.cnblogs.com/lymtics/p/16439261.html //www.cnblogs.com/lymtics/p/16439261.html
  • 如果您看到了此內容,則本文可能是惡意爬取原作者的文章,建議返回原站閱讀,謝謝您的支持
  • 原文會不斷地更新和完善排版和樣式會更加適合閱讀,並且有相關配圖
  • 如果爬蟲破壞了上述鏈接,可以訪問 `lymtics.top` 獲取更多信息
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

以 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);
}
Tags: