欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用NodeJS?5分鐘?連接?Redis?讀寫操作的詳細過程

 更新時間:2022年07月15日 17:42:19   作者:k21vin  
這篇文章主要介紹了NodeJS?5分鐘?連接?Redis?讀寫操作,本文給大家介紹的非常詳細,對大家學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

本文簡介

本文主要講解使用 NodeJS 操作 Redis ,順便會先帶一帶 Redis 基礎用法。

在寫本文時,使用 NPM 安裝的 Redis 依賴包已經到了 4.1.0 版本了。我以前用過 2.8 ,這兩個版本在用法上也是有差別的??赡芤恍├享椖窟€在用老版本的依賴包。所以我會把2個版本的用法都簡單講講。

Redis 基礎

Redis 可以說是最最最簡單的數(shù)據庫了。大部分數(shù)據庫的讀寫操作都是在硬盤上的,而 Redis 是在內存上的。所以讀寫速度會比其他傳統(tǒng)數(shù)據庫要快。但缺點是數(shù)據不能持久化,一旦斷電重啟,數(shù)據就沒了。當然,Redis 也是可以將數(shù)據持久化的,但我覺得這樣做的成本有點高,如果要將數(shù)據持久化不如直接用傳統(tǒng)數(shù)據庫。

Redis 可能用得最多的地方就是存儲 session ,用來記錄用戶登錄狀態(tài)之類的操作。這類數(shù)據就算丟失了也不會對用戶有多大影響。

安裝

要使用 Redis ,首先就要安裝它。windows版下載鏈接放在這里:https://github.com/tporadowski/redis/releases

我下載了 .msi 格式的安裝包,下載后直接雙擊運行,一直點 “下一步” 就能安裝成功。

在安裝時記得勾選將 Redis 添加到全局環(huán)境。

安裝成功后,打開終端,輸入一下命令

redis-cli

進入交互模式就證明安裝成功了,此時可以輸入指令操作 Redis 了。

127.0.0.1 是本機 IP;6379Redis 默認的端口號。

寫入

寫入數(shù)據使用 set 指令

set key value

key 是鍵名,value 是值。

我設置了一個 name ,值為 zhangsan。

輸入完按回車鍵,返回 OK 證明寫入成功。

讀取

讀取數(shù)據使用 get 。

get key

key 是鍵名。

如果查到就返回值。

查看所有key

如果你不清楚當前存了什么 key ,可以使用 keys * 來查詢所有 key

keys *

如果你有多個 key ,用上面的語句可以將所有 key 都列出來。

刪除

刪除使用 del

del key

我把剛剛創(chuàng)建的 name 這條數(shù)據給刪掉了。

此時使用 get 或者 keys * 都差不回 name 這條數(shù)據了。

以上就是 Redis 的基礎用法。

NodeJS 操作 Redis

初始化項目

我用默認模板初始化項目。

npm init -y

安裝 Redis 依賴

在寫本文時,使用以下命令安裝的最新版 Redis4.1.0

npm install redis

如果你想用舊版語法,可以安裝指定版本。

比如我之前用的是 2.8

npm install redis@2.8

連接

安裝好 Redis 后就可以用 NodeJS 來連接了。

新建一個 js 文件。

v2.8語法

const redis = require('redis') // 引入 redis
 
// 創(chuàng)建客戶端
const redisClient = redis.createClient('6379', '127.0.0.1') // 端口,主機
 
// 監(jiān)聽錯誤信息
redisClient.on('error', err => {
  console.error(err) // 打印監(jiān)聽到的錯誤信息
})

v4.1 語法

const redis = require('redis') // 引入 redis
 
const redisClient = redis.createClient() // 創(chuàng)建客戶端
 
// 監(jiān)聽錯誤信息
redisClient.on('err', err => {
  console.log('redis client error: ', err)
})
 
// 連接
redisClient.connect(6379, '127.0.0.1')

寫入數(shù)據

寫入數(shù)據使用 set 方法

v2.8

// 省略部分代碼
redisClient.set('name', 'zhangsan', redis.print)

第三個參數(shù) redis.print 是打印方法,在執(zhí)行完上面的命令,控制臺會打印一條信息。

比如執(zhí)行成功,會打印 Reply: OK

v4.1

const redis = require('redis') // 引入 redis
 
// 創(chuàng)建客戶端
const redisClient = redis.createClient()
 
// 監(jiān)聽錯誤信息
redisClient.on('err', err => {
  console.log('redis client error: ', err)
})
 
// 創(chuàng)建連接,是個 promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.set('name', 'zhangsan')
      .then(val => {
        console.log(val)
      })
  })

上面的代碼意思是,使用 client.connect 連接,成功后再執(zhí)行 set 操作。

你也可以將上面的代碼改成 asyncawait 語法。

讀取數(shù)據

使用 get 方法可以讀取數(shù)據

v2.8

// 省略部分代碼
 
redisClient.get('name', (err, val) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(val)
})

v4.1

const redis = require('redis') // 引入 redis
 
// 創(chuàng)建客戶端
const redisClient = redis.createClient()
 
// 創(chuàng)建連接,是個 promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.get('name')
      .then(val => {
        console.log(val)
      })
  })

如果查找到就返回對應的值,否則返回 null。

刪除

使用 del 方法刪除

v2.8

// 省略部分代碼
 
redisClient.del('name', (err, val) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(val)
})

v4.1

const redis = require('redis') // 引入 redis
 
// 創(chuàng)建客戶端
const redisClient = redis.createClient()
 
// 創(chuàng)建連接,是個 promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.del('name')
      .then(val => {
        console.log(val)
      })
  })

斷開連接

用完就斷,用 quit 方法可以斷開連接。

在斷開連接這件事上,v2.8 和 v4.1 的語法相同

redisClient.quit()

到此這篇關于NodeJS 5分鐘 連接 Redis 讀寫操作的文章就介紹到這了,更多相關NodeJS連接 Redis 讀寫操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 又拍云 Node.js 實現(xiàn)文件上傳、刪除功能

    又拍云 Node.js 實現(xiàn)文件上傳、刪除功能

    這篇文章主要介紹了又拍云 Node.js 實現(xiàn)文件上傳、刪除功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • Node.js中的文件系統(tǒng)(file system)模塊詳解

    Node.js中的文件系統(tǒng)(file system)模塊詳解

    Node.js文件系統(tǒng)模塊提供了豐富的方法,用于讀取、寫入、操作文件和目錄,文件系統(tǒng)模塊是Node.js強大而靈活的一部分,為文件操作提供了方便的API,本文給大家介紹Node.js中的文件系統(tǒng)(file system)模塊,感興趣的朋友一起看看吧
    2023-11-11
  • Node.js中讀取TXT文件內容fs.readFile()用法

    Node.js中讀取TXT文件內容fs.readFile()用法

    在本篇文章中我們給大家分享一下Node.js中讀取TXT文件內容以及fs.readFile()的用法,需要的朋友們可以參考下。
    2018-10-10
  • 詳解nodeJS之路徑PATH模塊

    詳解nodeJS之路徑PATH模塊

    本篇文章主要介紹了詳解nodeJS之路徑PATH模塊 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 手把手教你使用TypeScript開發(fā)Node.js應用

    手把手教你使用TypeScript開發(fā)Node.js應用

    為了減少代碼編寫過程中出現(xiàn)的錯誤,以及更好的維護你的項目,本文將手把手教你配置一個簡單的開發(fā)環(huán)境來編寫Node.js的應用程序,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 借助node實戰(zhàn)JSONP跨域實例

    借助node實戰(zhàn)JSONP跨域實例

    本篇文章主要介紹了借助node實戰(zhàn)JSONP跨域實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Node.js 中判斷一個文件是否存在

    Node.js 中判斷一個文件是否存在

    這篇文章主要記錄一些 Node.js 應用中的小知識點,如果你 Google/Baidu “Node.js 如何判斷文件是否存在” 發(fā)現(xiàn)給出的很多答案還是使用的 fs.exists,這里不推薦使用 fs.exists 你可以選擇 fs.stat 或 fs.access。
    2020-08-08
  • node.js中process進程的概念和child_process子進程模塊的使用方法示例

    node.js中process進程的概念和child_process子進程模塊的使用方法示例

    這篇文章主要介紹了node.js中process進程的概念和child_process子進程模塊的使用方法,結合實例形式分析了node.js中process進程和child_process子進程模塊相關概念、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Node.js應用設置安全的沙箱環(huán)境

    Node.js應用設置安全的沙箱環(huán)境

    這篇文章主要介紹了Node.js應用設置安全的沙箱環(huán)境的方法以及注意事項,對此有需要的朋友可以參考學習下。
    2018-04-04
  • jwt在node中的應用實踐(安裝配置封裝)

    jwt在node中的應用實踐(安裝配置封裝)

    這篇文章主要為大家介紹了jwt在node中的應用實踐包括安裝配置封裝,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09

最新評論