最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用NodeJS?5分鐘?連接?Redis?讀寫操作的詳細(xì)過(guò)程

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

本文簡(jiǎn)介

本文主要講解使用 NodeJS 操作 Redis ,順便會(huì)先帶一帶 Redis 基礎(chǔ)用法。

在寫本文時(shí),使用 NPM 安裝的 Redis 依賴包已經(jīng)到了 4.1.0 版本了。我以前用過(guò) 2.8 ,這兩個(gè)版本在用法上也是有差別的??赡芤恍├享?xiàng)目還在用老版本的依賴包。所以我會(huì)把2個(gè)版本的用法都簡(jiǎn)單講講。

Redis 基礎(chǔ)

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

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

安裝

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

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

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

安裝成功后,打開(kāi)終端,輸入一下命令

redis-cli

進(jìn)入交互模式就證明安裝成功了,此時(shí)可以輸入指令操作 Redis 了。

127.0.0.1 是本機(jī) IP;6379Redis 默認(rèn)的端口號(hào)。

寫入

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

set key value

key 是鍵名,value 是值。

我設(shè)置了一個(gè) name ,值為 zhangsan。

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

讀取

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

get key

key 是鍵名。

如果查到就返回值。

查看所有key

如果你不清楚當(dāng)前存了什么 key ,可以使用 keys * 來(lái)查詢所有 key

keys *

如果你有多個(gè) key ,用上面的語(yǔ)句可以將所有 key 都列出來(lái)。

刪除

刪除使用 del

del key

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

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

以上就是 Redis 的基礎(chǔ)用法。

NodeJS 操作 Redis

初始化項(xiàng)目

我用默認(rèn)模板初始化項(xiàng)目。

npm init -y

安裝 Redis 依賴

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

npm install redis

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

比如我之前用的是 2.8

npm install redis@2.8

連接

安裝好 Redis 后就可以用 NodeJS 來(lái)連接了。

新建一個(gè) js 文件。

v2.8語(yǔ)法

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

v4.1 語(yǔ)法

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

寫入數(shù)據(jù)

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

v2.8

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

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

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

v4.1

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

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

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

讀取數(shù)據(jù)

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

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)建連接,是個(gè) promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.get('name')
      .then(val => {
        console.log(val)
      })
  })

如果查找到就返回對(duì)應(yīng)的值,否則返回 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)建連接,是個(gè) promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.del('name')
      .then(val => {
        console.log(val)
      })
  })

斷開(kāi)連接

用完就斷,用 quit 方法可以斷開(kāi)連接。

在斷開(kāi)連接這件事上,v2.8 和 v4.1 的語(yǔ)法相同

redisClient.quit()

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

相關(guān)文章

  • Express中使用Swagger的實(shí)現(xiàn)示例

    Express中使用Swagger的實(shí)現(xiàn)示例

    swagger-express是一個(gè)規(guī)范和完整的框架實(shí)現(xiàn),本文主要介紹了Express中使用Swagger的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • angularJS 如何讀寫緩沖的方法(推薦)

    angularJS 如何讀寫緩沖的方法(推薦)

    angularJS 如何讀寫緩沖?下面小編就為大家?guī)?lái)一篇angularJS 讀寫緩沖的方法(推薦)。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • 一文帶你了解前端包管理工具npm、yarn和pnpm

    一文帶你了解前端包管理工具npm、yarn和pnpm

    如果您是前端開(kāi)發(fā)人員,您將接觸到一些包管理工具,包管理工具是連續(xù)自動(dòng)化程序的集合,例如安裝、升級(jí)、配置和刪除程序,下面這篇文章主要給大家介紹了關(guān)于前端包管理工具npm、yarn和pnpm的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • ExpressJS入門實(shí)例

    ExpressJS入門實(shí)例

    這篇文章主要介紹了ExpressJS入門實(shí)例,本文講解了創(chuàng)建項(xiàng)目、進(jìn)入目錄、安裝項(xiàng)目依賴的包、創(chuàng)建應(yīng)用程序、運(yùn)行程序等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • nodejs批量下載圖片的實(shí)現(xiàn)方法

    nodejs批量下載圖片的實(shí)現(xiàn)方法

    本篇文章主要介紹了nodejs批量下載圖片的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Nodejs從有門道無(wú)門菜鳥(niǎo)起飛必看教程

    Nodejs從有門道無(wú)門菜鳥(niǎo)起飛必看教程

    下面小編就為大家?guī)?lái)一篇Nodejs從有門道無(wú)門菜鳥(niǎo)起飛必看教程。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • NPM相關(guān)命令之報(bào)錯(cuò)node-gyp...的解決方法

    NPM相關(guān)命令之報(bào)錯(cuò)node-gyp...的解決方法

    node-gyp就是為node編譯c++擴(kuò)展的時(shí)候使用的編譯工具,下面這篇文章主要給大家介紹了關(guān)于NPM相關(guān)命令之報(bào)錯(cuò)node-gyp...的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • NodeJS使用formidable實(shí)現(xiàn)文件上傳

    NodeJS使用formidable實(shí)現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了NodeJS使用formidable實(shí)現(xiàn)文件上傳的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 從零開(kāi)始學(xué)習(xí)Node.js

    從零開(kāi)始學(xué)習(xí)Node.js

    這篇文章主要介紹了從零開(kāi)始學(xué)習(xí)Node.js結(jié)合具體實(shí)例形式分析了使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • Node 升級(jí)到最新穩(wěn)定版的方法分享

    Node 升級(jí)到最新穩(wěn)定版的方法分享

    今天小編就為大家分享一篇Node 升級(jí)到最新穩(wěn)定版的方法分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05

最新評(píng)論

紫云| 车险| 博客| 嘉义市| 达孜县| 定陶县| 昌乐县| 元氏县| 大渡口区| 广元市| 永新县| 准格尔旗| 山阳县| 东阿县| 毕节市| 申扎县| 晋中市| 鞍山市| 虞城县| 陕西省| 黄平县| 汪清县| 宁晋县| 五原县| 黑山县| 佳木斯市| 九江市| 汤原县| 含山县| 南安市| 永丰县| 原平市| 阿合奇县| 新竹县| 临邑县| 高安市| 彩票| 新野县| 天津市| 五莲县| 星座|