門戶網(wǎng)站開發(fā) 項(xiàng)目實(shí)施方案全網(wǎng)推廣平臺(tái)有哪些
??redis官網(wǎng)教程中介紹有三種方式連接redis:命令行、gui工具和編程連接:
??命令行方式主要是在命令行中輸入redis-cli后,通過命令方式與redis服務(wù)進(jìn)行交互,支持兩種模式:REPL模式(簡(jiǎn)單的交互式的編程環(huán)境)和命令模式(帶參數(shù)執(zhí)行redis-cli命令,返回標(biāo)準(zhǔn)輸出內(nèi)容);
??gui工具是指redis官網(wǎng)教程推薦使用RedisInsight軟件可視化地與redis服務(wù)交互,RedisInsight軟件為免費(fèi)軟件,可以瀏覽和操作數(shù)據(jù),感覺類似其它數(shù)據(jù)庫軟件的客戶端工具,使用起來比用命令行交互更直觀;
??編程連接是指通過編程方式與redis服務(wù)交互,查詢或操作數(shù)據(jù),redis主要支持C#/.NET、Go、Java、Node.js、Python等編程語言,更詳細(xì)的介紹見參考文獻(xiàn)3。
??redis支持以鍵值對(duì)形式保存以下幾種數(shù)據(jù)類型的數(shù)據(jù):
序號(hào) | 中文名稱 | 英文名稱 | 說明 | 主要命令 |
---|---|---|---|---|
1 | 字符串 | String | 保存字符串類型的鍵值對(duì),鍵和值是一對(duì)一的字符串,支持設(shè)置、刪除、修改、獲取鍵值對(duì),支持批量設(shè)置、獲取鍵值對(duì),支持設(shè)置鍵值對(duì)的過期時(shí)間 | SET、GET、SETEX、MSET、MGET |
2 | 列表 | List | 支持按類似隊(duì)列的形式保存值,鍵值對(duì)中,鍵為字符串,而值為類似隊(duì)列的字符串集合,支持增加、插入、刪除列表元素 | LPUSH、LPOP、LTRIM、LRANGE、RPUSH、RPOP、LLEN |
3 | 集合 | Set | 鍵值對(duì)中,鍵為字符串,值為無序字符串集合,且值不能重復(fù),支持集合之間求差、求合等操作 | SADD、SREM、SMEMBERS、SISMEMBER、SINTER、SCARD |
4 | 有序集合 | Sorted set | 鍵值對(duì)中,鍵為字符串,值中的每個(gè)元素都由字符串成員(members)及其關(guān)聯(lián)的分?jǐn)?shù)(score)構(gòu)成,有序集合按成員的分?jǐn)?shù)從大到小排序,支持查看排序結(jié)果及排名,同時(shí)支持查看反向排序結(jié)果及排名,除此支持,有序集合支持常見的集合求合、求差等操作。 | ZADD、ZCARD、ZRANGE、ZREVRANGE、ZRANK、ZREVRANK |
5 | 哈希 | Hash | 鍵值對(duì)中,鍵為字符串,值為鍵值對(duì)集合,值中的每個(gè)鍵都不能重復(fù),有點(diǎn)像json中平級(jí)的屬性值集合的意思,參考文獻(xiàn)4中以人員信息為例,可以使用哈希保存人員的姓名、年齡、性別、身高 等信息 | HSET、HGET、HDEL、HEXISTS、HKEYS、HVALS、HLEN |
6 | 流 | Stream | 鍵值對(duì)中,鍵為字符串,值中的每個(gè)元素都由唯一ID和一組鍵值對(duì)構(gòu)成,可以用流幾種接收和處理各方的消息,類似于生產(chǎn)者和消費(fèi)者的形式,詳細(xì)介紹見參考文獻(xiàn)1和4 | XADD、XREAD、XRANGE、XLEN |
7 | 地理空間 | Geospatial | 主要存儲(chǔ)和處理地理位置信息,鍵值對(duì)中,鍵為字符串,值中的每個(gè)元素都由經(jīng)度、緯度、字符串成員(members)構(gòu)成,支持計(jì)算成員與成員的距離,同時(shí)支持獲取指定位置附近的所有成員列表,詳細(xì)介紹見參考文獻(xiàn)1和4 | GEOADD、GEOSEARCH、GEODIST |
8 | 位圖 | Bitmap | 鍵值對(duì)中,鍵為字符串,值中的每個(gè)元素都由位置和一個(gè)0或1的值構(gòu)成,可以用位圖保存一組開關(guān)/燈/引腳的開閉狀態(tài),也可用于記錄一組對(duì)象的有無狀態(tài),參考文獻(xiàn)4中即以記錄一組人的點(diǎn)贊狀態(tài)為例說明位圖的用法 | SETBIT、GETBIT、BITCOUNT |
9 | 位域 | Bitfield | 主要存儲(chǔ)和處理數(shù)值型屬性值,鍵值對(duì)中,鍵為字符串,值由SET/GET/INCRBY等命令開頭的屬性值信息,詳細(xì)介紹即示例見參考文獻(xiàn)4和6 | BITFIELD、BITFIELD_RO |
10 | HLL | HyperLogLog | 支持基數(shù)統(tǒng)計(jì)(詳細(xì)介紹見參考文獻(xiàn)5),鍵值對(duì)中,鍵為字符串,值為字符串集合,支持獲取字符串集合中的基數(shù),同時(shí)支持合并HyperLogLog | PFADD、PFCOUNT、PFMERGE |
??后續(xù)主要學(xué)習(xí)字符串類型的鍵值對(duì)基本用法,同時(shí)學(xué)習(xí)基于C#/.NET操作字符串類型的鍵值對(duì)基本用法。
參考文獻(xiàn):
[1]https://redis.io/
[2]https://redis.io/docs/install/install-redis/
[3]https://redis.io/docs/data-types/
[4]一小時(shí)Redis教程,https://www.bilibili.com/video/BV1Jj411D7oG/?spm_id_from=333.337.search-card.all.click&vd_source=db4a1f65c18549c78df3e9d579e59e19
[5]https://zhuanlan.zhihu.com/p/77289303
[6]https://redis.io/commands/bitfield/