<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Redis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統,它可以用作資料庫、快取和訊息中介軟體。
它支援多種型別的資料結構,如 字串(strings), 雜湊(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 與範圍查詢, bitmaps, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢。
Redis 內建了 複製(replication),LUA指令碼(Lua scripting), LRU驅動事件(LRU eviction),事務(transactions) 和不同級別的 磁碟持久化(persistence), 並通過 Redis哨兵(Sentinel)和自動 分割區(Cluster)提供高可用性(high availability)。
Redis是一個以key-value儲存系統,一個Key鍵值對應一個value值,鍵值不能重複,它支援儲存的value型別有5種。
Redis支援五種資料型別:
在講資料型別前先來看一下Redis的基本指令,主要是針對Key鍵值和的一些操作。
Redis預設16個資料庫,類似陣列下標從0開始,初始預設使用0號庫
可以通過以下指令來修改預設存放的資料庫
select <dbid> 如: select 1
Redis針對Key鍵值的一些基本操作。
keys * 查詢當前庫的所有鍵,返回鍵值 exists <key> 判斷某個鍵是否存在,返回0或1 type <key> 檢視鍵的型別 del <key> 刪除某個鍵 expire <key> <seconds> 為鍵值設定過期時間,單位秒 ttl <key> 檢視還有多少秒過期,-1表示永不過期,-2表示已過期 dbsize 檢視當前資料庫的key的數量
Demo樣例,初始Redis中有a,b兩個鍵。
清空Redis庫的兩個指令
Flushdb 清空當前庫 Flushall 清空全部庫
基本指令:
set <key> <value> 新增鍵值 get <key> 查詢對應的鍵值 append <key> <value> 將給定的<value> 追加到原鍵值的末尾 strlen <key> 獲取鍵值的長度 setnx <key> <value> 只有在 key 不存在時設定 key 的值 incr <key> 將 key 中儲存的數位值自增1,只能對數位值操作,如果為空,新增值為1 decr <key> 將 key 中儲存的數位值減1,只能對數位值操作,如果為空,新增值為-1 incrby / decrby <key> <步長> 將 key 中儲存的數位值增 / 減。自定義步長。 mset <key1> <value1> <key2> <value2> .... 同時設定一個或多個 key-value對 mget <key1> <key2> <key3> ..... 同時獲取一個或多個 value msetnx <key1> <value1> <key2> <value2> ..... 同時設定一個或多個 key-value 對,當且僅當所有給定 key 都不存在。 getrange <key> <起始位置> <結束位置> 獲得值的範圍,類似java中的substring setrange <key> <起始位置> <value> 用 <value> 覆寫<key> 所儲存的字串值,從<起始位置>開始。 setex <key> <過期時間> <value> 設定鍵值的同時,設定過期時間,單位秒。 getset <key> <value> 以新換舊,設定了新值同時獲得舊值。
Demo樣例
Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊)。
它的底層實際是個雙向連結串列,對兩端的操作效能很高,通過索引下標的操作中間的節點效能會較差。
基本指令:
lpush/rpush <key> <value1> <value2> <value3> .... 從左邊/右邊插入一個或多個值。 lpop/rpop <key> 從左邊/右邊吐出一個值並刪除。值在鍵在,值亡鍵亡。 rpoplpush <key1> <key2> 從<key1>列表右邊吐出一個值,插到<key2>列表左邊。 lrange <key> <start> <stop> 按照索引下標獲得元素(從左到右) lindex <key> <index> 按照索引下標獲得元素(從左到右) llen <key> 獲得列表長度 linsert <key> before <value> <newvalue> 在<value>的前面插入<newvalue> 插入值 lrem <key> <n> <value> 從左邊刪除n個value(從左到右)
Demo樣式
Redis set對外提供的功能與list類似是一個列表的功能,特殊之處在於set是可以自動排重的,當你需要儲存一個列表資料,又不希望出現重複資料時,set是一個很好的選擇,並且set提供了判斷某個成員是否在一個set集合內的重要介面,這個也是list所不能提供的。
Redis的Set是string型別的無序集合。它底層其實是一個value為null的hash表,所以新增,刪除,查詢的複雜度都是O(1)。
基本指令:
sadd <key> <value1> <value2> ..... 將一個或多個 value元素加入到集合 key 當中,已經存在於集合的 value 元素將被忽略。 smembers <key> 取出該集合的所有值。 sismember <key> <value> 判斷集合<key>是否為含有該<value>值,有返回1,沒有返回0 scard <key> 返回該集合的元素個數。 srem <key> <value1> <value2> .... 刪除集合中的某個元素。 spop <key> 隨機從該集合中吐出一個值並刪除。 srandmember <key> <n> 隨機從該集合中取出n個值。不會從集合中刪除 sinter <key1> <key2> 返回兩個集合的交集元素。 sunion <key1> <key2> 返回兩個集合的並集元素。 sdiff <key1> <key2> 返回兩個集合的差集元素。
Demo樣式
基本指令:
hset <key> <field> <value> 設定<key>集合中指定欄位的值 hget <key> <field> 從<key>集合取出欄位的value hmset <key> <field1> <value1> <field2> <value2>... 批次設定hash的值 hexists key <field> 檢視雜湊表 key 中,給定域 field 是否存在。 hkeys <key> 列出該hash集合的所有field hvals <key> 列出該hash集合的所有value hincrby <key> <field> <increment> 將該物件中指定域的值增加給定的value,原子自增操作,只能是integer的屬性值可以使用 hsetnx <key> <field> <value> 將雜湊表 key 中的域 field 的值設定為 value ,當且僅當域 field 不存在 .
Demo樣式
Redis有序集合zset與普通集合set非常相似,是一個沒有重複元素的字串集合。不同之處是有序集合的每個成員都關聯了一個評分(score) ,這個評分(score)被用來按照從最低分到最高分的方式排序集合中的成員。集合的成員是唯一的,但是評分可以是重複了 。
因為元素是有序的, 所以你也可以很快的根據評分(score)或者次序(position)來獲取一個範圍的元素。存取有序集合的中間元素也是非常快的,因此你能夠使用有序集合作為一個沒有重複成員的智慧列表。
基本指令:
zadd <key> <score1> <value1> <score2> <value2>... 將一個或多個 value元素及其 score 值加入到有序集 key 當中。 zrange <key> <start> <stop> [WITHSCORES] 返回有序集 key 中,下標在<start> <stop>之間的元素,帶WITHSCORES,可以讓分數一起和值返回到結果集。 zrangebyscore key min max [withscores] [limit offset count] 返回有序集 key 中,所有 score 值介於 min 和 max 之間(包括等於 min 或 max )的成員。有序整合員按 score 值遞增(從小到大)次序排列。 zrevrangebyscore key max min [withscores] [limit offset count] 同上,改為從大到小排列。 zincrby <key> <increment> <value> 為元素的score加上增量 zrem <key> <value> 刪除該集合下,指定值的元素 zcount <key> <min> <max> 統計該集合,分數區間內的元素個數 zrank <key> <value> 返回該值在集合中的排名,從0開始。
Demo樣式
RedisDesktopManager是一款開源的Redis資料庫管理應用程式。
下載完成後,安裝就直接點下一步即可
安裝完成後建立連線後就可以使用了。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45