1. 程式人生 > >【Redis】——安裝與基操

【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!訊息

⑨設定密碼

  1. 通過命令動態調整密碼

CONFIG SET 命令可以動態地調整 Redis 伺服器的配置而無須重啟,重啟後失效

CONFIG SET requirepass 123456 //將密碼設定為123456

CONFIG SET requirepass "" //清除密碼

AUTH 123456  //輸入密碼進行認證

 

    2.通過配置檔案設定密碼

在配置檔案redis.conf中增加一行程式碼

requirepass 123456

將密碼123456設定到配置檔案中,redis啟動時載入該檔案,即可啟用密碼