亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

node中如何使用redis的實現(xiàn)

 更新時間:2023年06月19日 11:50:47   作者:我擱這敲代碼呢  
本文主要介紹了node中如何使用redis的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、Redis是什么?

Redis 是一個開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲器,一般可以用于數(shù)據(jù)庫、緩存、消息代理等,我們常在項目中用redis解決高并發(fā)、高可用、高可擴展、大數(shù)據(jù)存儲等問題;它本質(zhì)上是一個NoSql(非關(guān)系型數(shù)據(jù)庫),我們常用的MySQL則是關(guān)系型數(shù)據(jù)庫。它并不能替代關(guān)系型數(shù)據(jù)庫,更多的時候是對關(guān)系型數(shù)據(jù)庫的一種補充;

二、Redis的基本數(shù)據(jù)類型

  • 字符串
  • 哈希
  • 列表
  • 集合
  • 有序集合
  • HyperLogLog
  • 位圖

redis中共有七種數(shù)據(jù)類型,我這邊會簡單介紹下其中五種常見的數(shù)據(jù)類型;

2-1、字符串(String)

字符串的類型是Redis中最基礎(chǔ)的鍵值對類型,可以保存普通文字,或者是序列化的二進制數(shù)據(jù);字符串類型最大可以存儲512M的數(shù)據(jù);

字符串操作命令

  • set 設(shè)置一個字符串值
  • get 獲取字符串鍵對應(yīng)的值
  • getrange 截取字符串的內(nèi)容
  • strlen 獲取字符串長度
  • setex 設(shè)置過期時間
  • mset 設(shè)置多個key-value
  • mget 獲取多個value
  • append 在字符串結(jié)尾加入內(nèi)容
  • incr 數(shù)字自增加1
  • incrby 數(shù)字加上指定的整數(shù)值
  • incrbyfloat 數(shù)字加上指定的浮點數(shù)
  • decr 數(shù)字自減一
  • decby 數(shù)字減去指定的整數(shù)值

2-2、哈希類型

常用于保存復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。

  • hest 設(shè)置單個字段
  • hmset 設(shè)置多個字段
  • hget 獲取單個字段值
  • hmget 獲取多個字段值
  • hgetall 獲取所有字段值
  • hkeys 獲取所有字段名
  • hlen 獲取哈希表中字段的數(shù)量
  • hexists 判斷哈希表中存在某個字段
  • hvals 獲取哈希表中所有字段值
  • hdel 刪除哈希表的字段
  • hincrby 給某個字段加上指定的整數(shù)值
  • hincrbyfloart 給某個字段加上指定的浮點數(shù)

2-3、列表類型

常用于保存序列化的數(shù)據(jù)。

  • rpush 末尾新增值
  • lpush 開頭新增值
  • llen 獲取長度
  • lindex 獲取表某個元素
  • linsert 在列表某個位置插入值
  • lpop 刪除最左邊的值 -rpop 刪除最右邊的值
  • lrem 刪除某個位置的值

2-4、集合類型

如果你的需求是不允許數(shù)據(jù)重復(fù),則你需要使用redis提供的結(jié)合類型。

  • sadd 添加值
  • scard 獲取集合長度
  • sismember 判斷是否含有某個元素
  • srem 刪除某個元素
  • srop 隨機刪除某個元素,并返回
  • srandmember 隨機返回集合中的元素
  • sunion 組合兩個或多個結(jié)合并返回所有元素的列表
  • smove 將元素從一個集合移動到另一個結(jié)合

2-5、有序集合

結(jié)合將帶有排序功能,redis將按照分數(shù)值進行排序。

  • zcard 獲取結(jié)合長度
  • zcount 查詢某個分數(shù)值區(qū)間內(nèi)的值數(shù)量
  • zscore 查詢某個值的分數(shù)值
  • zrange 獲取集合內(nèi)容的升序
  • zrevrange 獲取集合內(nèi)容降序
  • zrangebyscore 獲取分數(shù)值區(qū)間內(nèi)的集合內(nèi)容升序
  • zrevrangebyscore 獲取分數(shù)值區(qū)間內(nèi)的集合內(nèi)容降序
  • zrank 獲取升序排序(從0開始)
  • zrevrank 獲取降序排序(從0開始)
  • zrem 刪除集合中的值(單個、多個)
  • zremrangebyrank 刪除排名區(qū)間內(nèi)的值
  • zremrangebyscore 刪除分數(shù)值區(qū)間內(nèi)的值

三、安裝 redis 及輔助工具 Another Redis Desktop Manager

官網(wǎng)地址:redis.io/ 下載地址:download.redis.io/releases/redis-3.0.0.tar.gz

window環(huán)境下安裝redis可以點擊此鏈接

可視化工具: Another Redis Desktop Managergoanother.com/cn/

四、nodejs上安裝 ioredis

接下來在nodejs后端項目中使用redis的話,可以安裝ioredis這個庫操作redis,如果是使用typescript的話,可以再安裝 @types/ioredis。

npm i ioredis 
npm i --save-dev @types/ioredis

ioredis 官方文檔

五、nodejs上使用 ioredis

5-1、基礎(chǔ)的redis鏈接配置

import redis from 'ioredis'
const { REDIS_PORT, REDIS_HOST, REDIS_PASSWORD, REDIS_DB } = process.env as any
export default new redis({
  port: REDIS_PORT, // redis的端口
  host: REDIS_HOST, // redis的允許地址
  password: REDIS_PASSWORD, // redis的密碼
  db: REDIS_DB // redis由16個db庫,可以手動選擇第幾個,由0開始
})

5-2、項目中使用

ioredisredis命令全部更改為了函數(shù)調(diào)用的形式,我們調(diào)用redis就像平時開發(fā)調(diào)用函數(shù)一樣即可,下面是最簡單的使用案例:

import redis from '@/redis'
/**
 * 重置存儲 session的過期時間
 * @param key
 * @param time 過期時間設(shè)置(min)
 */
export const resetTime = (key: string, time = 60) => {
  redis.expire(key, time * 60)
  recordNum(redisType.expire)
}

六、結(jié)語

本文當中簡單介紹了redis的基礎(chǔ)操作命令,在nodejs中如何使用redis,實際生產(chǎn)當中的redis操作更為復(fù)雜和多樣,還是需要我們自己多進行摸索和實踐;本文當中的操作只是常用的基礎(chǔ)操作,如果想知道更多的redis操作,可以去查看redis的官方文檔。

redis官方文檔

到此這篇關(guān)于node中如何使用redis的實現(xiàn)的文章就介紹到這了,更多相關(guān)node使用redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論