1.String 存入字符類型
Set name luowen 設置name = luowen 存儲
Get name 獲取設置好的name的值
Setnx name luowen 設置name鍵值為luowen 如果存在,則返回0 不存在返回1
Mset name luowen age 23 salary 233333 設置多個鍵值對 一塊存錯 全成功,全失敗
Msetnx name maomao age 23 hoby basketball 如果設置多個鍵值對中有存在返回失敗
Mget name age salary 獲取多個鍵的值
Getset name maomao 獲取name的值,并設置新的值為maomao
Setrange name 3 maomao 將鍵name 3字符和面的進行替換 結果為luomaomao
Getrange name 3 6 獲取鍵name的值 結果為luomaomao
Append name .com 給鍵nane追加.com 結果為luowen.com
Incr age 設置每個值自增 返回結果為24
Incrby age 6 給name加上6 如果是負數則鍵
Decr 與incr相反
Decrby 與decrby相反
Strlen 返回鍵對應的值得字符長度
2.Hash 方便存對象 鍵值對
Hset user:001 name luowen 設置哈表名字user 表里面的001 的name 設置為 luowen
Hsetnx user name maomao 設置哈希表名字中的name 存在,設置不成功
Hget user:001 name 獲取hash表的user的001的值
Hmset user:003 name maomao age 23 批量設置
Hmget user:003 name age 批量獲取user:003的值
Hincrby user:003 age 3 給hash表的age值加上3
Hexists user:003 name 判斷hash表中式否存在name的鍵
Hlen user:003 返回hash表的所有的字段的數目
Hkeys user:003 返回hash表的所有字段
Hvals user:003 返回hash表中所有的值
Hgetall user:003 返回所有的字段和值
Hdel user:003 name 對hash的name的值和鍵刪除
3.list 鏈表 (雙向鏈表)
1.棧:先進后出 隊列:先進先出
2.lpush 從頭壓入
Lpush list1 “world”
lpush list1 ‘hello”
Lrange list1 0 -1 把鏈表中的數據從0到尾全部取出
Word
hello
3 rpush 從尾部壓入
rpush list2 “world”
rpush list2 “luowen”
lrange list2 0 -1
world
luowen
4.linsert 插入出入數據
Rpush list3 luowen
Rpush list3 maomao
Lrange list3 0 -1
Luowen
Maomao
Linsert list3 before maomao love
Lrange list3 0 -1
Luowen
Love
maomao
Linsert list3 after luowen love
Lrange list3 0 -1
Luowen
Love
Maomao
5 lset 給某個元素復制
Rpush list5 luowen
Rpush list5 maomao
Lset list5 0 “deom”
Demo
maomao
6 lrem 刪除list表中的數據
Rpush list6 luowen
Rpush list6 luowen1
Rpush list6 luowen2
Rpush list6 luowen3
Rpush list6 luowen4
Lrem list6 1 “luowen”
刪除list6 中值為luowen的值
7.ltrim
Lpush list7 luowen1
Lpush list7 luowen2
Lpush list7 luowen3
Lpush list7 luowen4
Lpush list7 luowen5
Ltrim list7 1 2 (1 2 為保留的范圍)
Lpush list7 luowen2
Lpush list7 luowen3
8 lpop 從鏈表的頭部彈出一個元素
Lpush list8 luowen1
Lpush list8 luowen2
Lpush list8 luowen3
Lpop list8
Lpush list8 luowen2
Lpush list8 luowen3
9 rpop 從鏈表的尾部彈出一個元素
Lpush list8 luowen1
Lpush list8 luowen2
Lpush list8 luowen3
rpop list8
Lpush list8 luowen1
Lpush list8 luowen2
10 rpoplpush 從一個鏈表彈出,在從頭部壓入到另一個鏈表
List demo1
Demo1A
Demo1B
Demo1C
List demo2
Demo2A
Demo2B
Demo2C
Rpoplpush demo1 demo2
List demo1
Demo1A
Demo1B
List demo2
Demo1C
Demo2A
Demo2B
Demo2C
11 lindex 返回一個list小標的索引值
List11
one
two
lindex list11 1(list小標)
two
lindex list11 0
one
12 llen 返回這個鏈表的元素的長度
4.set無序集合
1 sadd 向集合中插入一條數據
Sadd myset1 luowen
2 srem 刪除集合中的一個元素
Srem myset1 luowen
3 smembers 查看集合中的元素
Smembers myset1
4 spop 從集合隨機彈出一個元素,返回鍵值
5 sdiff 兩個集合的差集 返回兩個集合不一樣的,根據第一個集合為標準
Setdemo1
One
two
setdemo2
one
three
sdiff setdemo1 setdemo2
two(與setdemo2不一樣)
sdiff setdemo2 setdeo1
three(與setdemo1 不一樣)
6 sdiffstroe 將兩個差集存儲到另外一個集合
Sdiffstore setdemo1 setdemo2 setdemo3
將setdemo1 setdemo2 的差集放到 setdemo3中
7 sinter 將兩個集合的交集
8 sinterstore 將兩個集合的交集存儲到另外一個集合中
9 sunion 將兩個集合并集
10 sunionstore 將兩個集合并集并存儲到另外一個集合中
11 smove 將以個集合中的元素移動到另外一個集合中
Eg smove myset1 mysetA two mysetB 集合中的two元素移動到mysetB中
12 scard 查看集合中元素的個數
Scard myset1查看myset12元素的個數
13 sismember 判斷是否是集合中的元素
Sismember myset13 luowen 判斷luowen是否在myset13中的元素
14 srandmember myset14 隨機取出myset1 中的元素
15 zadd 添加到有序集合中區
Zadd myzsent 1 luowen1
Zadd myzsent 2 luowen2
Zadd myzsent 3 luowen3
Zadd myzsent 4 luowen4
Zrange myzsent 0 -1 withscores
16 zrem 刪除有序集合中的元素
Zrem myzsent luowen1 刪除myzsent集合中的luowen1
17 zincrby myzsent luowen1 3將myzsent luown1的序號更改為4
如果沒有,就創建他
18 zrank 找到myzsent 對應值得索引
19 zrevrank 反過來去索引
20 zrangebyscore 返回集合中指定的元素
Zrangebyscore mysetdeom 2 5 withscores
返回mysetdemo中2-5中的元素
21 zcount 返回指定空間的數量
Zcount myset 2 4 返回2 4中的元素個數
22 zcard 返回集合中所有元素的個數
23 zremrangbyrank 刪除集合中指定區間的元素,并將索引進行排序
24 zremrangbyscore 刪除集合中指定元素,按循序進行排序
5 Redis常用命令
Key-values
1 keys * 匹配鍵所有的鍵. 模糊匹配 keys my* 取出所有已my開頭的鍵
2 exists 判斷是否鍵 exists name判斷是否有name這個鍵是否存在
3 del 刪除鍵 del name 刪除name的鍵
4 expire 設置過期時間 expire key time
5 ttl key 查看鍵的過期時間
6 select database 選擇數據庫
7 move key dababase1 講key移動dao database1中的數據庫中
8 persist 取消鍵的過期時間
9 randomkey 隨機返回一個鍵的值
10 rename 重命名一個鍵
11 type key 判斷key的數據類型
Server
1 ping ping我們的主機能否鏈接 鏈接是否存活
2 echo 命令 echo demo直接輸出
3 select 選擇數據庫 select 0-16個數據庫
4 quit exit 退出鏈接
5 dbsize 返回數據庫的鍵的個數
6 info 返回服務器相關信息
7 config get 返回服務配置信息
8 flush db 清空數據庫
9 flushall 刪除所有數據庫中所有的鍵
6 Redis 高級應用
1 在配置文件里面設置 requirepass password
2 進入后 auth 密碼 進行授權 方法二: 登入或在后面加上 –a 加上密碼
3 主從復制:
One: 一個master服務器可以擁有多個slave
Two: 一個salve可以有多個master 并且還可以與其他的salve相連接
配置salve
打開salveof注釋 并添加主機的ip以及端口
主機加了密碼的時候還需要配置masterauth 密碼
4 redis 的事務處理
輸入:multi 打開一個上下文
Set age 10
Set age 144
-----------------------------------------------------------
上面的全部放入隊列最后執行
Exec
最后age為144
回滾
Discard
Watch 監視鍵的命令
5 Redis的持久化
方式一: snapshotting (快照)將內存的數據寫入到文件中 save 500 32 500秒內有32個鍵發生變化則發起快照到文件中
方式二: append only file 將沒次寫修改的命令保存到文件中
配置:打開append only
Appendfsync yes
Appendfsync always 每次都寫入
Appendfsync everysec 每個一秒寫入
Appendfsync no 不寫入
6 發布和訂閱消息
訂閱:
Subscribe tv1 tv2 訂閱了兩個頻道
發布:
Publish tv1 luweo
注:publish tv1的信息 訂閱的信息都可以收到
7 虛擬內存
方式一:暫時把不使用的數據放到硬盤里面
方式二:可以把數據分割到其他的slave數據服務器中
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
