Redis常用方法
NoSQL的含義:Not Only SQL(不僅僅是sql),泛指非關(guān)系型數(shù)據(jù)庫(kù).
NoSQL的特點(diǎn):支持高并發(fā)的讀寫,海量數(shù)據(jù)的存儲(chǔ),對(duì)數(shù)據(jù)的高可擴(kuò)展性
NoSQL的類別:鍵值對(duì)類型,列式類型,文檔類型,圖形數(shù)據(jù)庫(kù)
NoSQL鍵值對(duì)類型的產(chǎn)品:Redis
Redis是由C語(yǔ)言實(shí)現(xiàn)的直接操作內(nèi)存的開(kāi)源高性能數(shù)據(jù)庫(kù)軟件.
Redis的應(yīng)用場(chǎng)景(需要頻繁對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)):緩存(數(shù)據(jù)查詢,新聞內(nèi)容,商品內(nèi)容), 秒殺,搶火車票,排行榜的實(shí)時(shí)更新,聊天室在線好友列表的實(shí)時(shí)更新,網(wǎng)站訪問(wèn)量實(shí)時(shí)統(tǒng)計(jì).
- 秒殺:使用set集合存儲(chǔ)用戶的id,時(shí)id不能重復(fù),一個(gè)人不能同時(shí)秒殺多個(gè)物品
- 排行榜:使用zset集合,使排行有序
Redis的安裝和開(kāi)啟服務(wù)端客戶端命令
Redis的安裝包:源碼形式提供,一大堆.c文件
步驟一: 將.c文件編譯成.o文件 =====>需要安裝 : gcc
步驟二: 將編譯后的文件安裝在Liunx上
將Redis編譯后的文件存放在 /usr/local/bin 下,即可以在任何目錄下訪問(wèn)redis-server和redis-cli進(jìn)行開(kāi)啟和關(guān)閉服務(wù)端客戶端.
通過(guò)后臺(tái)的方式redis-server /usr/local/redis/redis.conf (搭配配置文件開(kāi)啟)打開(kāi)redis服務(wù)端后,可以通過(guò)客戶端命令redis-cli shutdown進(jìn)行關(guān)閉服務(wù)端.
總結(jié): 開(kāi)啟服務(wù)端的命令:redis-server /usr/local/redis/redis.conf 開(kāi)啟客戶端的命令: redis-cli,連接成功后輸入ping驗(yàn)證 關(guān)閉客戶端的命令: exit 或者 ctrl+C 關(guān)閉服務(wù)端的命令:redis-cli shutdownRedis的基本指令:
①keys * :查看當(dāng)前庫(kù)中的所有鍵
②exists < key > : 查看當(dāng)前庫(kù)中是否存在鍵key
③type < key > : 查看當(dāng)前庫(kù)中鍵key的類型
④del < key > : 刪除當(dāng)前庫(kù)中鍵key
⑤expire < key > < second> : 為鍵key設(shè)置過(guò)期時(shí)間
⑥ttl < key > : 查看當(dāng)前key還有多少秒過(guò)期
⑦dbsize : 查看當(dāng)前庫(kù)中key 的數(shù)量
⑧flushdb : 清空當(dāng)前庫(kù)
Redis對(duì)value值為string類型的操作指令:
①get
②set
Redis對(duì)value值為list類型的操作命令:
①lpush/rpush < key > < value1 > < value2 > : 從左邊/右邊插入一個(gè)或多個(gè)值
②lpop/rpop < key > : 從左邊或右邊吐出一個(gè)值
③rpoplpush < key1 > < key2 >: 從key1右邊吐出一個(gè)值插入到列表key2左邊
④lrange < key > < start > < stop > : 從start到stop展示key的值
⑤lindex < key > < index > : 按照索引下標(biāo)獲得key的元素(從左到右,第一個(gè)索引為0)
⑥llen < key > : 獲得列表長(zhǎng)度
Redis對(duì)value值為Set類型的操作命令:
①sadd < key > < value > < value > : 給集合添加值
②smambers < key > : 返回集合中所有的值
③sismember < key > < value > : 判斷value是否在Set中
④scard < key > : 返回集合的元素個(gè)數(shù).
⑤srem < key > < value1 > < value2 > : 從集合中刪除某些元素.
⑥spop < key > : 從集合中隨機(jī)吐出一個(gè)值
⑦srandmember < key > < n > : 從集合中隨機(jī)取出n個(gè)值(不會(huì)刪除值)
⑧sinter < key1 > < key2 > : 返回兩個(gè)集合的交集部分
⑨sunion< key1 < key2> : 返回兩個(gè)集合的并集部分
⑩sdiff< key1> < key2 > : 返回兩個(gè)集合的差集部分(key1中有key2中沒(méi)有的)
Redis對(duì)value值為Hash類型的操作命令:
①hset < key > < filed > < value > : 向集合中存一個(gè)值,該值的鍵為field,值為value
②hget < key > < filed > : 取出鍵為filed 的值
③hmset < key > < filed1 > < value1 > < filed2 > < value2 > : 向集合中存多個(gè)值
④hexists key < filed > : 查看是否存在鍵為filed 的值
⑤hkeys < key > : 獲得hash集合中所有的鍵
⑥hvals < key > : 獲得hash集合中所有的值
⑦h(yuǎn)getall > key > :獲得hash集合中所以的鍵和值
⑧hsetnx < key > < filed > < value > : 無(wú)則添加,有則不添加
Redis對(duì)value值為Zset類型的操作命令:
①zadd < key > < score1 > < value1 >< score2 > < value2 >
添加相同的分?jǐn)?shù),不同的元素,可以添加
添加相同的元素,不同的分?jǐn)?shù),不能添加,但會(huì)將之前的分?jǐn)?shù)替換掉
②zrange < key > < start > < stop > : 從start到stop展示key的值
③zrangebyscore key min max : 通過(guò)分?jǐn)?shù)范圍來(lái)查詢?cè)?br /> ④zrem < key > < value > : 刪除該集合下指定值的元素
總結(jié)
- 上一篇: Mybatis框架的操作步骤和细节处理
- 下一篇: MyBatis Plus自定义SQL使用