使用
啟動redis 切換到bin目錄下
./redis-cli 直接啟動
讓redis後台執行 需要修改配置檔案 redis.conf 中的 daemonize 為yes 再次啟動就行
redis 命令
獲取所有key keys *
萬用字元 * 所有 ?乙個 通配中括號內的某個字元
返回隨機key名 randomkey
判斷可以值是什麼型別 type key名
判斷key是否存在 exists key名
刪除指定key del key名
修改key名 rename 原來key名 新key名 如果key名存在就會覆蓋
如果key名存在就不改了 不存在則改
renamenx
redis預設開啟了16個庫 可在 redis.conf 配置檔案中修改 databases
移動到別的庫 move key名 庫編號
切換到別的庫 select 庫編號
查詢key值有效期 ttl key名 返回秒數 -1 表示永久有效
設定有效期 expire key名 整型值(設定的秒數)
設定有效期以毫秒為單位 p
expire key名 整型值(設定的豪秒數)
設定永久有效 persist key名
redis 字串型別操作
設定key val 儲存字串 set key名 val值 ex有效期秒 px毫秒 nx xx
注意 秒和毫秒只能使用乙個 不能同時使用 如果同時設定 會以後面的為準
nx key不存在時執行 xx key存在時執行
同時設定多個key val mset key1 val1 key2 val2
同時獲取多個key值 mget key1 key2
修改val值 setrange key名 偏移量 修改後的值 如果偏移量大於字串長度 用0填充
獲取部分val值 getrange key名 開始下標 結束下標 從左以 0 開始 從右從-1開始 注意 開始下標》長度 返回空 結束下標》= 長 度 擷取到字元結尾
返回當前val值並修改為新值 getset key名 新值
增加1 incr key名 減去1 decr key名
增加多 incrby key名 增加的數量
減去多 decrby key名 減去的數量
以浮點數增加 incrbyflot key名 增加的數量
redis list 鍊錶 型別操作
左邊新增
新的鍊錶 lpush key名 val值
右邊新增
新的鍊錶 rpush key名 val值
取出鍊錶的某一段 lrange key名 起始位置 結束位置
返回並刪除鍊錶最左 lpop key名
返回並刪除最右 rpop key名
刪除指定值 lrem key名 要刪除的數量 要刪除的val值
擷取指定值 lrange key名 開始位置 結束位置
檢視鍊錶長度 llen key名
在指定位置插入 linsert key名 before|after 指定的值 要插入的值
刪除指定的並且插入另外的鍊錶中 rpoplpush 鍊錶名1 鍊錶名2 彈出鍊錶1 的最右乙個值 放入鍊錶2最左
redis set 集合 型別操作
唯一性 無序性
增加乙個集合 sadd key名 val1 val2 返回值 增加成功的數量
檢視集合中元素 smembers key名
刪除集合中某個指定元素 srem key名 要刪除的值 返回值 具體成功的個數
隨機返回並且刪除乙個元素 spop key名
隨機返回集合中某個元素 srandmember key名
判斷集合中是否存在某個元素 sismember key名 val值
返回集合中元素的個數 scard key
把集合1中的某個元素刪除並新增到集合2中 smove 集合1 集合2 val值
求出幾個集合中的交集 並返回 sinter key1 key2 key3
求出幾個集合中的並集 sunion key1 key2 key3
求出key1與別的集合的差集 sdiff key1 key2 key3
order set 有序集合\增
增加乙個有序集合 zadd key名 score1 val1 score2 val2 ```
查查找範圍內的值 按照排序 zrange key名 範圍 0 4 加withscores 取出對應的score
查詢範圍內的值 按照
score
值 zrangebyscore key名 範圍 sort1 sort2 可以加 limit 跳過的位數 取幾位
加withscores 取出對應的
score
查詢集合某個值的排名 公升序 zrank key名 val
查詢集合某個值的排名 降序 zrevrank key名 val
刪刪除集合內指定值 zrem key名 val
刪除範圍內的值 按照排序 zremrangebyrank key名 範圍 0 4
刪除範圍內的值 按照
score
zremrangeby
score
key名 範圍
score1
score2
統計返回元素個數 zcard key
返回區間內的數量 zcount key 0 1
返回兩個集合見的最大值 最小值 和 放到新的集合中 zzinterstore 新的集合 比較的集合數量 集合1 集合2 aggregate min|max|sum
redis hash 雜湊資料型別操作
生成乙個hash一次設定乙個值 hset keys field val
生成乙個hash一次設定多個值 hmset keys field1 val1 field2 val2
查詢所有 hgetall key
查詢指定 hget key field
查詢多個指定 hmget key field1 field2
刪除key中field域 hdel key fiedl
返回key中元素數量 hlen key
判斷key中是否有field域 hexists key field
把key中的field域增長整形值 hinrby key field val
把key中的field域增長浮點型值 hinrby float key field val
返回key中所有field hkeys key
返回key中所有value kvals key
redis 事務
watch key1 key2 監控 如果任意乙個有變化則事務取消
unwatch 取消監視
啟動事務 muitl
把執行命令放在佇列裡 並不去執行 exec後才去執行
失敗了 discard
成功 exec
共同學習!共同進步!
redis的命令以及簡單操作
優點 高併發,高可用,高可擴充套件,高寫入 缺點 不支援sql語句 學習使用成本較大 安裝好之後連線視覺化工具需要修改幾個配置檔案 1.bind 127.0.0.1 改為 bind 192.168.133.104 2.protected mode yes 改為 protected mode no 開...
redis 事務操作
redis事務操作 multi 命令用於開啟乙個事務,它總是返回ok。multi 執行之後,客戶端可以繼續向伺服器傳送任意多條命令,這些命令不會立即被執行,而是被放到乙個佇列中,當 exec命令被呼叫時,所有佇列中的命令才會被執行。另一方面,通過呼叫 discard 客戶端可以清空事務佇列,並放棄執...
Redis事務操作
事務有以下特性 原子性 atomicity 原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,這和前面兩篇部落格介紹事務的功能是一樣的概念,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。一致性 consistency 一致性是指事務必須使資料庫從乙個...