国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis 九種數(shù)據(jù)類型的基本操作

這篇具有很好參考價(jià)值的文章主要介紹了Redis 九種數(shù)據(jù)類型的基本操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、redis9種數(shù)據(jù)類型的基本操作
①key操作

#查找所有的key
127.0.0.1:6379> keys *
1) "pop"
2) "mylist"
3) "lpl"
4) "myset"
#設(shè)置key的過期時(shí)間 返回1表示執(zhí)行成功,0表示失敗,出現(xiàn)問題
127.0.0.1:6379> expire pop 30
(integer) 1
#ttl key 查看key過期倒計(jì)時(shí)
127.0.0.1:6379> ttl pop
(integer) 10
127.0.0.1:6379> ttl pop
(integer) 1
127.0.0.1:6379> ttl pop
(integer) -2
#查看是否存在key:exists key,返回0表示不存在
127.0.0.1:6379> exists pop
(integer) 0
#del key:刪除key
127.0.0.1:6379> del lpl
(integer) 1
127.0.0.1:6379> keys *
1) "mylist"
2) "myset"
#rename key 表示修改key的名稱

②String類型
(1)Redis 最基本的數(shù)據(jù)類型,String 類型的值最大能存儲(chǔ) 512MB。
(2)string類型是二進(jìn)制, redis 的 string 可以包含任何數(shù)據(jù),一個(gè) key 對(duì)應(yīng)一個(gè) value。

#set key value 創(chuàng)建key并賦值
127.0.0.1:6379> set pop qwe
OK
#get key  獲取key的對(duì)應(yīng)值
127.0.0.1:6379> get pop
"qwe"

③list類型
Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序。一個(gè)列表最多可以包含 232 - 1 個(gè)元素 (4294967295, 每個(gè)列表超過40億個(gè)元素)。

#lpush key element 表示從key左邊開始插入一個(gè)或多個(gè)值
127.0.0.1:6379> lpush lpl 1 2 3 4
(integer) 4
# lrange  key start stop 表示列表的范圍從start的位置到stop的位置
127.0.0.1:6379> lrange lpl 1 3
1) "3"
2) "2"
3) "1"
#從rpush key element  從key右邊插入
127.0.0.1:6379> rpush lpl 6 7 8
(integer) 7
#lrange key 0 -1  查看列表全部的值
127.0.0.1:6379> lrange lpl 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "6"
6) "7"
7) "8"
#rpop key 移除列表的最后一個(gè)元素,返回值為移除的元素
127.0.0.1:6379> rpop lpl
"8"
127.0.0.1:6379> lrange lpl 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "6"
6) "7"
#lpop key  移出并獲取列表的第一個(gè)元素
127.0.0.1:6379> lpop lpl
"4"
127.0.0.1:6379> lrange lpl 0 -1
1) "3"
2) "2"
3) "1"
4) "6"
5) "7"

④Set類型
Redis 的 Set 是 String 類型的無序集合。集合中成員是唯一的,不能出現(xiàn)重復(fù)的數(shù)據(jù)。

tips:Redis 中集合是通過哈希表實(shí)現(xiàn)的,所以添加,刪除,查找的復(fù)雜度都是 O(1)。 集合中最大的成員數(shù)為 232 - 1 (4294967295, 每個(gè)集合可存儲(chǔ)40多億個(gè)成員)。

# sadd key member [member ...] 添加集合的元素
127.0.0.1:6379> sadd course redis mongodb mysql
(integer) 3
#scard key 獲取集合中的成員數(shù)
127.0.0.1:6379> scard course
(integer) 3
#smembers key 返回集合中的所有成員
127.0.0.1:6379> smembers course
1) "redis"
2) "mongodb"
3) "mysql"

⑤Zset
Redis 有序集合和集合一樣也是string類型元素的集合且不允許重復(fù)的成員。不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。有序集合的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。

#zadd key score member 向有序集合添加一個(gè)或多個(gè)成員,或者更新已存在成員的分?jǐn)?shù)
127.0.0.1:6379> zadd courses 1 redis
(integer) 1
#zrevrank key 返回有序集合中指定成員的排名,有序集成員按分?jǐn)?shù)值遞減(從大到小)排序
127.0.0.1:6379> zrevrank courses mongodb
(integer) 3
#zrange key start stop withscores通過索引區(qū)間返回有序集合指定區(qū)間內(nèi)的成員
127.0.0.1:6379> zrange courses 0 10 withscores
 1) "redis"
 2) "1"
 3) "mongodb"
 4) "2"
 5) "sqlserver"
 6) "68"
 7) "oracle"
 8) "77"
 9) "mysql"
10) "99"

⑥Hash
Redis hash 是一個(gè) string 類型的 field 和 value 的映射表,hash 特別適合用于存儲(chǔ)對(duì)象。

#hmset key field value [field value ...]  將哈希表 key 中的字段 field 的值設(shè)為 value
127.0.0.1:6379> hmset new name "zhangsan" age 18 gender "F" birth 2000-01-01

OK
#hgetall key 獲取在哈希表中指定 key 的所有字段和值
127.0.0.1:6379> hgetall new
1) "name"
2) "zhangsan"
3) "age"
4) "18"
5) "gender"
6) "F"
7) "birth"
8) "2000-01-01"

⑦Bitmaps
1)Bitmaps本身不是一種數(shù)據(jù)類型,實(shí)際上它就是字符串(key-value),但是它可以對(duì)字符串的位進(jìn)行操作。

2)Bitmaps單獨(dú)提供了一套命令,所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一個(gè)以位為單位的數(shù)組, 數(shù)組的每個(gè)單元只能存儲(chǔ)0和1, 數(shù)組的下標(biāo)在Bitmaps中叫做偏移量。

#setbit key offset value 設(shè)置Bitmaps中某個(gè)偏移量的值(0或1),offset偏移量從0開始。模擬工作日打卡場(chǎng)景

Redis 九種數(shù)據(jù)類型的基本操作,redis,數(shù)據(jù)庫(kù),緩存

# bitcount key [start end [BYTE|BIT]] 用于統(tǒng)計(jì)字符串從start字節(jié)到end字節(jié)比特值為1的數(shù)量
127.0.0.1:6379> bitcount user:01
(integer) 3
#getbit key offset 獲取鍵的第offset位的值(從0開始算)
127.0.0.1:6379> getbit user:01 5
(integer) 1

⑧HyperLogLog
優(yōu)點(diǎn):
(1)能夠降低一定的精度來平衡存儲(chǔ)空間
(2)在輸入元素的數(shù)量或者體積非常非常大時(shí),計(jì)算基數(shù)所需的空間總是固定的、并且是很小的。
(3)在 Redis 里面,每個(gè) HyperLogLog 鍵只需要花費(fèi) 12 KB 內(nèi)存,就可以計(jì)算接近 2^64 個(gè)不同元素的基數(shù)。
缺點(diǎn):
由于HyperLogLog 只會(huì)根據(jù)輸入元素來計(jì)算基數(shù),而不會(huì)儲(chǔ)存輸入元素本身,所以 HyperLogLog 不能像集合那樣,返回輸入的各個(gè)元素。

#pfadd key [element [element ...]] 添加指定元素到 HyperLogLog 中
127.0.0.1:6379> pfadd test "redis"
(integer) 1
127.0.0.1:6379> pfadd test "mongodb"
(integer) 1
127.0.0.1:6379> pfadd test "mysql"
(integer) 1

#pfcount key [key ...] 返回給定 HyperLogLog 的基數(shù)估算值
127.0.0.1:6379> pfcount test
(integer) 3
127.0.0.1:6379> pfadd test1 "sqlserver"
(integer) 1

#pfmerge destkey sourcekey [sourcekey ...] 將多個(gè) HyperLogLog 合并為一個(gè) HyperLogLog
127.0.0.1:6379> pfmerge test test1
OK
127.0.0.1:6379> pfcount test
(integer) 

⑨Geospatial
GEO類型,就是元素的2維坐標(biāo),在地圖上就是經(jīng)緯度。redis基于該類型,提供了經(jīng)緯度設(shè)置,查詢,范圍查詢,距離查詢,經(jīng)緯度Hash等常見操作。文章來源地址http://www.zghlxwxcb.cn/news/detail-608037.html

# geoadd key longitude  latitude   member [longitude latitude member...] 添加地理位置(經(jīng)度,緯度,名稱)
127.0.0.1:6379> geoadd location 127.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> geoadd location 106.50 29.53 chongqing
(integer) 1

#geopos  key  member  [member...] 獲得指定地區(qū)的坐標(biāo)值
127.0.0.1:6379> geopos location shanghai
1) 1) "127.47000128030776978"
   2) "31.22999903975783553"

#geodist  key  member1  member2 [m\|km\|ft\|mi] 獲取兩個(gè)位置之間的直線距離
127.0.0.1:6379> geodist location shanghai chongqing km
"2017.9802"

#georadius  key   longitude  latitude  radius  [m\|km\|ft\|mi]  以給定的經(jīng)緯度為中心,找出某一半徑內(nèi)的元素
127.0.0.1:6379> georadius location 110 30 1000 km
1) "chongqing"

到了這里,關(guān)于Redis 九種數(shù)據(jù)類型的基本操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • redis數(shù)據(jù)庫(kù)和MongoDB數(shù)據(jù)庫(kù)基本操作

    (1) 設(shè)置鍵值 (2) 讀取鍵值 (3) 數(shù)值類型自增1 (4) 數(shù)值類型自減1 (5) 查看值的長(zhǎng)度 (1)對(duì)列表city插入元素:Shanghai Suzhou Hangzhou (2)將列表city里的頭部的元素移除 (3) 對(duì)一個(gè)已存在的列表插入新元素 (4)查看list的值長(zhǎng)度 (1) 設(shè)置一個(gè)hash表,order表里包括的

    2024年02月16日
    瀏覽(33)
  • Redis九種數(shù)據(jù)類型及其持久化機(jī)制:探索數(shù)據(jù)存儲(chǔ)的奇妙世界

    Redis九種數(shù)據(jù)類型及其持久化機(jī)制:探索數(shù)據(jù)存儲(chǔ)的奇妙世界

    目錄 一、9種數(shù)據(jù)類型 3.1 Key操作 3.1.1 相關(guān)命令 練習(xí): 3.2 String 3.2.1 結(jié)構(gòu)圖 3.2.2 相關(guān)命令 ?練習(xí): 3.3 List(雙向的鏈表) 3.3.1 結(jié)構(gòu)圖 3.3.2 相關(guān)命令 練習(xí): 3.4 Set(無序集合) 3.4.1 結(jié)構(gòu)圖 3.4.2 相關(guān)命令 練習(xí): 3.5 Zset(有序集合) 3.5.1 結(jié)構(gòu)圖 3.5.2 相關(guān)命令 練習(xí) 3.6 Hash 3.6.1 結(jié)構(gòu)

    2024年02月16日
    瀏覽(90)
  • 初識(shí)Redis——Redis概述、安裝、基本操作

    初識(shí)Redis——Redis概述、安裝、基本操作

    目錄 一、NoSQL介紹 1.1什么是NoSQL 1.2為什么會(huì)出現(xiàn)NoSQL技術(shù) 1.3NoSQL的類別 1.4傳統(tǒng)的ACID是什么 1.5?CAP 1.5.1?經(jīng)典CAP圖 1.5.4 什么是BASE 二、Redis概述 2.1?什么是Redis 2.2 Redis能干什么 2.3 Redis的特點(diǎn) 2.4 Redis與memcached對(duì)比 2.5?Redis的安裝 2.6?Docker安裝 三、 基本操作 3.1.1 set 3.1.2set操作的選

    2024年02月16日
    瀏覽(21)
  • Redis的基本操作

    Redis的基本操作

    Redis是一款基于 內(nèi)存 的key-value結(jié)構(gòu)數(shù)據(jù)庫(kù),它的主要優(yōu)點(diǎn)有以下幾點(diǎn): 基于內(nèi)存存儲(chǔ),讀寫性能高 適合存儲(chǔ)熱點(diǎn)數(shù)據(jù) 企業(yè)應(yīng)用廣泛 其結(jié)構(gòu)為: key value id 101 這種為Redis的存儲(chǔ)結(jié)構(gòu)。 Redis存儲(chǔ)的是key-value結(jié)構(gòu)的數(shù)據(jù),其中key為字符串類型,value有常用的五種數(shù)據(jù)類型,所有

    2024年02月11日
    瀏覽(14)
  • redis操作基本命令

    Redis —— Remote Dictionary Server ,它是一個(gè)開源的使用ANSI C語(yǔ)言編寫、 支持網(wǎng)絡(luò) 、可基于 內(nèi)存亦可持久化 的日志型、 Key-Value 數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API,我們可使用它構(gòu)建高性能,可擴(kuò)展的Web應(yīng)用程序。 具有以下特點(diǎn): 異常快速:? Redis數(shù)據(jù)庫(kù)完全在 內(nèi)存 中,因此處理速

    2024年02月09日
    瀏覽(16)
  • Redis的安裝方法與基本操作

    Redis的安裝方法與基本操作

    目錄 前言 一、REDIS概述 二、REDIS安裝 1、編譯安裝 2.yum安裝 三、Redis的目錄結(jié)構(gòu) 四、基礎(chǔ)命令解析 五、在一臺(tái)服務(wù)器上啟動(dòng)多個(gè)redis 六、數(shù)據(jù)庫(kù)的基本操作 (一)登錄數(shù)據(jù)庫(kù) (二)基礎(chǔ)命令 七、Redis持久化 (一)RDB持久化 (二)AOF持久化 總結(jié) Redis是一個(gè)開源的內(nèi)存數(shù)據(jù)結(jié)

    2024年02月13日
    瀏覽(23)
  • 【Redis】Redis在Linux與windows上的安裝&基本操作語(yǔ)法

    【Redis】Redis在Linux與windows上的安裝&基本操作語(yǔ)法

    Redis 是完全開源免費(fèi)的,遵守BSD協(xié)議,是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 Redis 與其他 key - value 緩存產(chǎn)品 有以下三個(gè)特點(diǎn): Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時(shí)候可以再次加載進(jìn)行使用。 Redis不僅僅支持簡(jiǎn)單的key-value類型的數(shù)據(jù),同時(shí)還提供

    2024年02月06日
    瀏覽(89)
  • Redis,MongoDB基本操作練習(xí)題

    語(yǔ)法不會(huì)可以在官網(wǎng)上查詢MongoDB教程 String類型基本操作: List類型基本操作: hash類型基本操作: 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù) 名字grade: 創(chuàng)建class集合: 集合中插入若干數(shù)據(jù): 查看班級(jí)所有人信息: 查看班級(jí)中年齡為8歲的學(xué)生信息: 查看年齡大于10歲的學(xué)生信息: 查看年齡在 4—8歲

    2024年02月16日
    瀏覽(33)
  • Redis【實(shí)踐篇】之RedisTemplate基本操作

    Redis【實(shí)踐篇】之RedisTemplate基本操作

    在SpringBoot中,可以使用RedisTemplate來操作Redis數(shù)據(jù)庫(kù)。RedisTemplate是Spring Data Redis提供的一個(gè)強(qiáng)大的Redis客戶端,它支持各種Redis數(shù)據(jù)結(jié)構(gòu),并提供了許多方便的方法來操作這些數(shù)據(jù)結(jié)構(gòu)。下面是一些RedisTemplate的用法示例: 在此示例中,創(chuàng)建了一個(gè)RedisTemplate對(duì)象,并設(shè)置了key和

    2024年02月16日
    瀏覽(32)
  • Redis的基本操作與應(yīng)用(附相關(guān)面試題...)

    Redis的基本操作與應(yīng)用(附相關(guān)面試題...)

    1、概述:Redis是一款基于 內(nèi)存 以 KV鍵值對(duì) 存儲(chǔ)的中間件技術(shù),常用 做緩存 ,支持 數(shù)據(jù)持久化 。 2、數(shù)據(jù)類型:? 常用5種數(shù)據(jù)類型:String(字符串)、List(列表)、set(集合)、hash(哈希)、zset(有序集合) 結(jié)構(gòu)類型 結(jié)構(gòu)存儲(chǔ)的值 應(yīng)用 String(字符串) 可以是字符串、整數(shù)或浮

    2024年02月09日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包