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

在Node.js應(yīng)用中使用Redis的方法簡(jiǎn)介

 更新時(shí)間:2015年06月24日 09:43:23   投稿:goldensun  
這篇文章主要介紹了在Node.js應(yīng)用中使用Redis的方法,最簡(jiǎn)單的數(shù)據(jù)讀寫操作相關(guān),需要的朋友可以參考下

 在開始本文之前請(qǐng)確保安裝好 Redis 和 Node.js 以及 Node.js 的 Redis 擴(kuò)展 —— node_redis

首先創(chuàng)建一個(gè)新文件夾并新建文本文件 app.js 文件內(nèi)容如下:
 

var redis = require("redis")
  , client = redis.createClient();
 
client.on("error", function (err) {
  console.log("Error " + err);
});
 
client.on("connect", runSample);
 
function runSample() {
  // Set a value
  client.set("string key", "Hello World", function (err, reply) {
    console.log(reply.toString());
  });
  // Get a value
  client.get("string key", function (err, reply) {
    console.log(reply.toString());
  });
}


當(dāng)連接到 Redis 后會(huì)調(diào)用 runSample 函數(shù)并設(shè)置一個(gè)值,緊接著便讀出該值,運(yùn)行的結(jié)果如下:
 

OK
Hello World

 
我們也可以使用 EXPIRE 命令來(lái)設(shè)置對(duì)象的失效時(shí)間,代碼如下:
 

var redis = require('redis')
  , client = redis.createClient();
 
client.on('error', function (err) {
  console.log('Error ' + err);
});
 
client.on('connect', runSample);
 
function runSample() {
  // Set a value with an expiration
  client.set('string key', 'Hello World', redis.print);
  // Expire in 3 seconds
  client.expire('string key', 3);
 
  // This timer is only to demo the TTL
  // Runs every second until the timeout
  // occurs on the value
  var myTimer = setInterval(function() {
    client.get('string key', function (err, reply) {
      if(reply) {
        console.log('I live: ' + reply.toString());
      } else {
        clearTimeout(myTimer);
        console.log('I expired');
        client.quit();
      }
    });
  }, 1000);
}


注意: 上述使用的定時(shí)器只是為了演示 EXPIRE 命令,你必須在 Node.js 項(xiàng)目中謹(jǐn)慎使用定時(shí)器。

運(yùn)行上述程序的輸出結(jié)果是:
 

Reply: OK
I live: Hello World
I live: Hello World
I live: Hello World
I expired

 
接下來(lái)我們檢查一個(gè)值在失效之前存留了多長(zhǎng)時(shí)間:
 

var redis = require('redis')
  , client = redis.createClient();
 
client.on('error', function (err) {
  console.log('Error ' + err);
});
 
client.on('connect', runSample);
 
function runSample() {
  // Set a value
  client.set('string key', 'Hello World', redis.print);
  // Expire in 3 seconds
  client.expire('string key', 3);
 
  // This timer is only to demo the TTL
  // Runs every second until the timeout
  // occurs on the value
  var myTimer = setInterval(function() {
    client.get('string key', function (err, reply) {
      if(reply) {
        console.log('I live: ' + reply.toString());
        client.ttl('string key', writeTTL);
      } else {
        clearTimeout(myTimer);
        console.log('I expired');
        client.quit();
      }
    });
  }, 1000);
}
 
function writeTTL(err, data) {
  console.log('I live for this long yet: ' + data);
}

運(yùn)行結(jié)果:
 

Reply: OK
I live: Hello World
I live for this long yet: 2
I live: Hello World
I live for this long yet: 1
I live: Hello World
I live for this long yet: 0
I expired

相關(guān)文章

  • node.js中watch機(jī)制詳解

    node.js中watch機(jī)制詳解

    本文給大家?guī)?lái)的是一篇關(guān)于nodejs中watch機(jī)制的探討,主要探討內(nèi)容是為什么watch不是銀彈,嘗試使用更好的方案來(lái)解決這個(gè)問(wèn)題
    2014-11-11
  • Node交互式的SFTP上傳實(shí)現(xiàn)過(guò)程剖析

    Node交互式的SFTP上傳實(shí)現(xiàn)過(guò)程剖析

    這篇文章主要為大家介紹了Node交互式的SFTP上傳實(shí)現(xiàn)過(guò)程剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 用nodejs搭建websocket服務(wù)器

    用nodejs搭建websocket服務(wù)器

    這篇文章主要介紹了用nodejs搭建websocket服務(wù)器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • VSCode如何調(diào)試Nodejs問(wèn)題

    VSCode如何調(diào)試Nodejs問(wèn)題

    這篇文章主要介紹了VSCode如何調(diào)試Nodejs問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • nodejs前端自動(dòng)化構(gòu)建環(huán)境的搭建

    nodejs前端自動(dòng)化構(gòu)建環(huán)境的搭建

    本文這里給大家介紹的是nodejs中前端自動(dòng)化構(gòu)建環(huán)境的搭建方法,非常的細(xì)致全面,有需要的小伙伴可以參考下
    2017-07-07
  • 使用Node.js實(shí)現(xiàn)一個(gè)簡(jiǎn)單的命令行工具

    使用Node.js實(shí)現(xiàn)一個(gè)簡(jiǎn)單的命令行工具

    這篇文章主要為大家詳細(xì)介紹了如何用 Node.js 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的命令行工具,模仿常用的 ls 命令,包括其 -a 和 -l 參數(shù)的功能,感興趣的可以了解下
    2024-11-11
  • node.js連接mongoose數(shù)據(jù)庫(kù)方法詳解

    node.js連接mongoose數(shù)據(jù)庫(kù)方法詳解

    之前我們都是通過(guò)shell來(lái)完成對(duì)數(shù)據(jù)庫(kù)的各種操作的,在開發(fā)中大部分時(shí)候我們都需要通過(guò)程序來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作。而Mongoose就是一個(gè)讓我們可以通過(guò)Node來(lái)操作MongoDB的模塊
    2022-08-08
  • nodejs模塊學(xué)習(xí)之connect解析

    nodejs模塊學(xué)習(xí)之connect解析

    這篇文章主要介紹了nodejs模塊學(xué)習(xí)之connect解析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • node.js錯(cuò)誤處理之npm無(wú)法下載第三方包

    node.js錯(cuò)誤處理之npm無(wú)法下載第三方包

    這篇文章主要給大家介紹了關(guān)于node.js錯(cuò)誤處理之npm無(wú)法下載第三方包的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • Node.js 中的流Stream模塊簡(jiǎn)介及如何使用流進(jìn)行數(shù)據(jù)處理

    Node.js 中的流Stream模塊簡(jiǎn)介及如何使用流進(jìn)行數(shù)據(jù)處理

    Node.js中的流(Stream)模塊用于高效處理流式數(shù)據(jù),包括可讀流、可寫流、雙邊流和轉(zhuǎn)換流等,通過(guò)`fs.createReadStream`和`.pipe`方法可以方便地讀取文件并寫入控制臺(tái)或處理網(wǎng)絡(luò)請(qǐng)求,在實(shí)際開發(fā)中,需要注意錯(cuò)誤處理、資源管理和性能優(yōu)化等問(wèn)題
    2025-03-03

最新評(píng)論

句容市| 临澧县| 新野县| 北海市| 宜兴市| 高雄市| 鲁山县| 施秉县| 鄂托克旗| 乌苏市| 丽水市| 永仁县| 佳木斯市| 舞钢市| 广东省| 望江县| 漳州市| 彭水| 隆安县| 微山县| 禹州市| 安溪县| 资溪县| 马边| 娄烦县| 咸阳市| 桦川县| 大余县| 垦利县| 启东市| 宜阳县| 缙云县| 广西| 太白县| 合水县| 陇西县| 上林县| 长乐市| 新闻| 顺昌县| 衡阳市|