nodejs+redis使用


安裝

linux安裝及配置之前寫過了http://www.cnblogs.com/zycbloger/p/6226682.html

windows安裝
下載地址:https://github.com/MicrosoftArchive/redis/releases

我下的是zip,解壓后
img

具體的配置和linux一樣看那個就行了!

運行

打開一個 cmd 窗口 使用cd命令切換目錄到 解壓的目錄運行

redis-server.exe redis.windows.conf 

如果想方便的話,可以把 redis 的路徑加到系統的環境變量里或者寫個 .bat文件 redis-server redis.windows.conf 雙擊就可以運行了,這樣就省得再輸路徑了,后面的那個 redis.windows.conf 可以省略,如果省略,會啟用默認的。輸入之后,會顯示如下界面:

另啟一個cmd窗口,原來的不要關閉
切換到redis目錄下運行

redis-cli.exe -h 127.0.0.1 -p 6000 -a xxx 
  • -h: 是指地址127.0.0.1 指的是本地,如果是遠程的就寫遠程的地址
  • -p: 這邊是端口號,具體看個人的配置 redis.windows.conf 里面的
  • -a: 密碼 同上 沒設就不用 寫 -a了

ping 如果 pong 就說明是連接通過了

nodejs上的應用

安裝 redis 依賴包

npm install redis --save

連接

var redis = require('redis'), config = require('../config'), dbConfig = config.redis, RDS_PORT = dbConfig.port, //端口號 RDS_HOST = dbConfig.host, //服務器IP RDS_PWD = dbConfig.pass, //密碼 RDS_OPTS = {auth_pass: RDS_PWD}, client = redis.createClient(RDS_PORT, RDS_HOST, RDS_OPTS); client.on('ready',function(res){ console.log('ready'); }); client.on('end',function(err){ console.log('end'); }); client.on('error', function (err) { console.log(err); }); client.on('connect',function(){ console.log('redis connect success!'); }); 

基本的使用

字符串

  • set key value 設置key的value
  • get key 得到key的value
  • incr key key如果是整型自增1
  • keys * 得到所有key

結合node 使用

client.set('name', 'zyc', function (err, res) { // todo.. }); client.get('name', function (err, res) { // todo... }); 

哈希

  • hset key filed value 設置key對象的field屬性的value
  • hget key filed 得到key對象的field屬性的value
  • hgetall key 得到key對象的所有的屬性和值
  • hdel key field 刪除
  • hexists key field 判斷對象是否存在這個field

client.hmset("hosts", "mjr", "1", "another", "23", "home", "1234"); client.hgetall("hosts", function (err, obj) { console.dir(obj); }); client.hmset(key2, { "0123456789": "abcdefghij", // NOTE: key and value will be coerced to strings "some manner of key": "a type of value" });

列表

  • lpush key value [value ...] 向鏈表key左邊添加元素
  • rpush key value [value...] 向鏈表key右邊添加元素
  • lpop key 移除key鏈表左邊第一個元素
  • rpop key 移除key鏈表右邊第一元素
  • lrange key start stop 獲取鏈表中某一段,包含最大值,-1表示最后一個元素

集合類型

  • sadd key member [member ...] 向集合key中添加元素,如果元素已經存在則忽略
  • srem key member [member ...] 從集合key中刪除元素
  • smembers key 返回集合key中所有的元素
  • sinter key [key ...] 多個集合執行交集運算
  • sdiff key [key ...] 多個集合執行差集運算
  • sunion key [key ...] 多個集合執行並集運算

有序集合

  • zadd key score member [score member ...] 向有序集合key中加入一個或多個元素和分數,如果元素已經存在,則替換分數
  • zrem key member [member ...] 刪除集合中一個或多個元素
  • zrange key start stop [withscores] 按元素分數從小到大順序返回元素,如需獲得對應元素的分數,在尾部加上withscores
  • zrevrange key start stop [withscores] 按元素分數從大到小順序返回元素

client.zadd(table, score, id, function (err, res) { }); //刪除單個 client.zrem(table, id, function (err, res) { )); // 刪除多個 client.zrem(table, arr, function (err, res) { }); // 從大到小 查詢 client.zrevrange(table, 0, -1, function (err, res) { }) 

https://www.npmjs.com/package/redis 可以去redis看一下相關的資料。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM