【Redis】——安裝與基操
安裝Redis服務端
1.windows下安裝
①下載redis程式軟體
使用redisbin32 或redisbin64
②綠色軟體,不需要安裝,直接使用
③啟動redis服務(帶配置檔案啟動,和不帶配置檔案啟動)
④連線到redis進行操作
cmd>{%redis%}/redis-cli -h ip地址 -p 埠號
ip 預設為本地 -p 預設6379
redis-cli -h 172.16.6.248 -p 6379
cmd>{%redis%}/redis-cli
⑤基本用法
2.linux下安裝
①下載redis原始碼
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
或者使用sftp上傳redis-3.0.6.tar.gz
②安裝redis
tar xf redis-3.0.6.tar.gz //解壓
cd redis-3.0.6
//不需要配置引數 不需要執行./configure
make && make install//編譯&&安裝
③將redis設定為系統服務
cp (redis原始碼目錄)utils/redis_init_script /etc/init.d/redis
vim /etc/init.d/redis //修改紅框處的程式碼
④修改redis.conf配置檔案
mkdir /etc/redis //建立/etc/redis目錄
cp redis.conf /etc/redis/redis.conf
vim /etc/redis.conf
//將redis配置檔案複製到redis
//設定為守護程序,以後臺方式執行
使用service redis start命令啟動redis服務.
⑤將redis服務設定為開機啟動
chkconfig –-add redis
chkconfig –level 35 redis on
Redis操作
1.使用redis-cli客戶端操作redis
redis是key-value型別的Nosql,命令能操作key和Value,而對於key就是String,而Value就有很多型別(String,list,set,hash...).
①對value為string型別的常用操作
set key value//將字串值value關聯到key
get key //返回key關聯的字串值
mset //同時設定一個或多個 key-value 對 merge
mget //返回所有(一個或多個)給定 key 的值
incr key //將 key 中儲存的數字值增1(key不存在,則初始化為0,再加1)
decr key //將 key 中儲存的數字值減1(key不存在,則初始化為0,再減1)
incrBy key num//自增多少
decrBy key num
Setex key seconds value //同時設定key的過期時間和值
②對key的常用操作
keys * //獲取所有key列表
del key //刪除key
expire key xx //設定key的過期時間(xx秒後過期)
ttl key //檢視key的過期時間
flushall //清空整個redis伺服器資料,所有的資料庫全部清空
flushdb //清除當前庫,redis中預設有16個數據庫,名稱分別為0,1,2.。。15(可以用select index 命令來切換資料庫)
③對list集合的常用操作
list集合可以看成是一個左右排列的佇列(列表)
lpush key value //將一個或多個值 value 插入到列表 key 的表頭(最左邊)
rpush key value //將一個或多個值 value 插入到列表 key 的表尾(最右邊)
lpop key //移除並返回列表 key 的頭(最左邊)元素。
rpop key //移除並返回列表 key 的尾(最右邊)元素。
lrange key start stop //返回列表 key 中指定區間內的元素,查詢所有的stop為-1即可
lrem key count value //根據count值移除列表key中與引數 value 相等的元素count > 0 : 從表頭開始向表尾搜尋,移除與 value 相等的元素,數量為 count 。count < 0 : 從表尾開始向表頭搜尋,移除與 value 相等的元素,數量為 count 的絕對值。count = 0 : 移除表中所有與 value 相等的值。
lindex key index //返回列表 key 中,下標為 index 的元素
ltrim key start stop //對一個列表進行修剪,保留start和stop範圍內的值
④對set集合的常用操作
set集合是一個無序的不含重複值的佇列
sadd key member //將一個或多個 member 元素加入到集合 key 當中,已經存在於集合的 member 元素將被忽略
srem key member //移除集合 key 中的一個或多個 member 元素,不存在的 member 元素會被忽略
smembers key //返回集合 key 中的所有成員。
⑤對sortedset(有序集合)的操作
⑥對hash型別的操作
hash型別類似於php的陣列 java map
hset key name value//新增一個name=>value鍵值對到key這個hash型別
hget key name //獲取hash型別的name鍵對應的值
hmset key name1 key1 name2 key2 //批量新增name=>value鍵值對到key這個hash型別
hmget key name1 name2//批量獲取hash型別的鍵對應的值
hkeys //返回雜湊表 key 中的所有鍵
hvals //返回雜湊表 key 中的所有值
Hgetall key //返回雜湊表 key 中,所有的鍵和值
我們將user:1(name:zhangsan,age:18,sex:nv)的資訊儲存在hash表.
⑦事務(重要)弱事務) (TCC、訊息一致性)
multi //標記一個事務塊的開始。
exec //執行所有事務塊內的命令。
discard //取消事務,放棄執行事務塊內的所有命令。
Redis的事務在執行exec指令時,才批量執行操作,沒有回滾操作
⑧訂閱/釋出
SUBSCRIBE channel [channel ...] //訂閱給定的一個或多個頻道的資訊。
PUBLISH channel message //將資訊 message 傳送到指定的頻道 channel 。
新開一個客戶端訂閱tv頻道
釋出nihao!訊息到tv頻道
訂閱tv頻道的客戶端可以收到nihao!訊息
⑨設定密碼
- 通過命令動態調整密碼
CONFIG SET 命令可以動態地調整 Redis 伺服器的配置而無須重啟,重啟後失效
CONFIG SET requirepass 123456 //將密碼設定為123456
CONFIG SET requirepass "" //清除密碼
AUTH 123456 //輸入密碼進行認證
2.通過配置檔案設定密碼
在配置檔案redis.conf中增加一行程式碼
requirepass 123456
將密碼123456設定到配置檔案中,redis啟動時載入該檔案,即可啟用密碼