筆者最初接觸redis是因為了解了一些nosql方面的知識,覺得nosql是乙個很有意思的方面。像其中的mongodb,redis等等。當初也沒有深入的去了解redis,直到自己前段時間在寫乙個web專案的時候需要用到快取來進行效能優化我才仔細的來學習redis。下面我就來說說我自己在學習redis過程中的一些心得。
redis是乙個nosql資料庫,它採用字典結構以鍵值對的形式將資料全部儲存在記憶體中所以它讀寫的速度很快,因此很多專案用redis做快取用,我也是基於這個想法來學習redis的。 redis支援的資料型別分別是字串(string)、雜湊(hash)、列表(list)、集合(set)、有序集合(sorted set)這五種。接下來我將仔細介紹下這幾種資料結構的用法和對應的命令。
常用命令:
set key value //賦值
get key //取值
keys * //檢視所有的鍵
exists key //判斷某個鍵是否存在
del key //刪除乙個鍵
type key //獲取鍵的型別
incr/decr key //給鍵增加/減少一
incrby/decrby key increment/decrement //給鍵增加/減少乙個整數
incrbyfloat key increment //增加浮點數
strlen key //返回鍵的長度
mset/mget //同時設定或者獲取多個值常用命令:
hset key field value //賦值。不區分插入和更新操作,當鍵不存在是會自動建立。
hget key field //取值
hgetall key //取出所有的值
hexists key field //判斷字段是否存在
hsetnx key field value //欄位不存在時便賦值
hincrby key field increment //增加指定的數字,沒有自增
hdel key field //刪除乙個或者多個字段,返回被刪除的個數
hkeys key //只獲取欄位名
hvals key //只獲取字段值
hlen key //只獲取字段數量
## 列表型別 :列表是個有序的字串,向兩端新增或者刪除元素。它是使用雙向鍊錶實現的。
常用命令:
lpush/rpush list value //向左/右增加元素
lpop/rpop list //從左/右彈出元素
llen list //獲列表的元素個數
lrange list start stop //獲得列表片段(左邊索引為0,如果為負則從右邊開始) lrange key -1 0 則為獲取所有的元素
lrem list count value //刪除列表中前count個值為value的元素
rpoplpush oldlist newlist //將原列表的值放入新列表常用命令:
sadd set member //增加乙個元素給集合(沒有則建立)
srem set member //刪除乙個或多個元素
smembers set //返回集合中所有的元素
sismember set member //判斷元素是否存在於集合中
sdiff seta setb //求差集
sinter seta setb //求交集
sunion seta setb //求並集
sdiffstore destination seta setb //將求到的差集結果儲存在destination中
srandmember set num //隨機獲取乙個或多個元素(看後面加的引數)
spop set //從集合中隨機彈出乙個元素常用命令:
zadd key score member //加入元素和對應分數,支援整數和雙精度浮點,如果存在則修改。其中+inf和-inf代表正負無窮大
zscore key member //獲得元素的分數
zrange/zrevrange key start stop //按分數從順序/逆序排序
zrangebyscore key min (max //返回min和max之間的數左括號代表不包含
zincrby key increment member //給元素增加值
zcount key min max //獲取指定範圍元素的個數
zcard key //獲取集合中元素的數量
zrem key member //刪除元素
zremrangebyrank key start stop //按排名範圍刪除元素
zremrangebyscore key min max //刪除分數範圍值
zrank key member //元素按分數大小排名
zrevrank key member //從大到小排名結語:個人學習總結有遺漏錯誤的地方還希望大家留言斧正,多多交流一起學習。
02 掌握 redis詳情命令
keys 獲取所有的key select 0 選擇第乙個庫 move mystring 1 將當前的資料庫key移動到某個資料庫,目標庫有,則不能移動 flushdb 清除指定庫 randomkey 從當前資料庫中隨機返回 type key 型別 del key1 刪除key exists key ...
Redis基礎命令
一 基本操作 1 寫入乙個key set bar 1 返回ok即 成功 2 得到乙個key的值 get bar 3 獲取所有的key keys 獲取所有的鍵 4 判斷乙個鍵是否存在 exists bar 如果返回1即說明存在,返回0說明不存在 5 刪除鍵 del bar 返回值是刪除的鍵的個數 6 ...
redis基礎命令
1.增加一條記錄 redis 127.0.0.1 6379 set key1 hello 2.讀取一條記錄 get key1 hello 3.讓數字自增 set key2 1 ok incr key2 integer 2 get key2 2 4.增加一條列表記錄 lpush key3 first ...