Linux安裝操作redis

安裝redis

  1. 環(huán)境準備:yum install gcc-c++箍镜,gcc環(huán)境
  2. 上傳解壓redis安裝包
  3. 安裝redis硫眨,進入解壓目錄憨闰,輸入make命令進行安裝遇绞。

安裝注意事項:

  • 如果沒有gcc環(huán)境,安裝不成功
  • 如果有gcc環(huán)境讼撒,安裝過程中也可能出錯浑厚, 類似于zmalloc.h:50:31: 致命錯誤:jemalloc/jemalloc.h:沒有那個文件或目錄這種錯誤, 原因是默認的使用MALLOC為jemalloc的環(huán)境去建立redis根盒, 但是jemalloc沒有钳幅, 會報錯。jemalloc沒有看是有l(wèi)ibc炎滞, 因此編譯的時候加上MALLOC =libc就可以了
  • make MALLOC=libc安裝在了redis/src目錄下敢艰, 可以指定安裝目錄蛛蒙,命令為make install PREFIX=/aaa/bbb/redis MALLOC=libc

安裝后啟動

redis前端啟動:
進入安裝后的bin目錄下因妙, ./redis-server命令啟動,啟動后顯示類似于面包的圖形徽诲。 不過一旦Ctrl + c或者會話關閉redis服務就會關閉森瘪。

redis后端啟動:
解壓后的redis.conf文件拷貝只bin目錄牡属, 修改daemonize為yes, 啟動命令改為./redis-server redis.conf扼睬, 可以通過ps -ef | grep redis查看啟動情況逮栅。

啟動后關閉

強制性關閉:kill -9 redis服務進程號, 容易造成數(shù)據(jù)丟失

redis提供命令關閉:./redis-cli shutdown

redis命令行客戶端

同樣進入redis安裝后的bin目錄, ./redis-cli命令進入redis命令行客戶端证芭, 輸入命令實現(xiàn)對redis的操作瞳浦。
命令可以攜帶參數(shù)-h、-p废士。
-h:連接目標服務的IP叫潦。
-p:連接 目標服務的端口。
帶參數(shù)命令:./redis-cli -h 127.0.0.1 -p 6379官硝。

redis圖形化界面客戶端

在windows上安裝redis的圖形化界面客戶端矗蕊。redis-desktop-manager-0.8.0.3841.exe
連接redis服務,注意虛擬機關閉防火墻(service iptables stop)
可以使用圖形化客戶端啟動命令行氢架,redis服務名稱上右擊傻咖,選Console。
輸入命令實現(xiàn)對redis的操作岖研。

redis的java客戶端jedis

jedis對redis的操作就類似于jdbc對數(shù)據(jù)庫的操作卿操。
導包:commons-pool版本.jar、jedis-版本.jar孙援。
jedis連接操作:

import redis.clients.jedis.Jedis;

public class JedisTest {

    public static void main(String[] args) {
        // 創(chuàng)建jedislianjie
        Jedis jedis = new Jedis("192.168.130.128", 6379);
        // 使用jedis操作redis, 就是redis命令
        jedis.select(1);
        String setResult = jedis.set("name", "zhangsan");
        String getResult = jedis.get("name");
        System.out.println(setResult + ":" + getResult);
        // 釋放資源
        jedis.close();
    }
}

jedis有頻繁創(chuàng)建銷毀資源的問題害淤, 就跟jdbc一樣,使用jedispool操作redis:

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class JedisPoolTest {

    public static void main(String[] args) {
        // 創(chuàng)建jedispool
        JedisPool jedisPool = new JedisPool("192.168.130.128", 6379);
        // 從jedispool中獲取jedis對象
        Jedis jedis = jedisPool.getResource();
        // jedis操作redis
        jedis.select(1);
        String setResult = jedis.set("age", "18");
        String getResult = jedis.get("age");
        System.out.println(setResult + ":" + getResult);
        jedis.close();
        jedisPool.close();
    }
}

redis命令

redis是以鍵值對key/value格式存儲拓售。value的類型可以是字符串(String)窥摄,散列(Hash),列表(list)础淤,集合(sets)崭放,有序集合(sorted sets、zsets)

字符串類型(key, value)

存值:set key value鸽凶, 成功返回OK

取值:get key币砂, 返回對應key的value, 如果沒有返回null

value可以轉換成整形時吱瘩,可以設置從0遞增:incr count道伟。key為count, 每執(zhí)行一次使碾,count對應的value加1。key不存在自動創(chuàng)建并賦值為0祝懂, 執(zhí)行第一次后為1票摇。

value可以轉換成整形時,可以設置從某一值遞減:decr count砚蓬。key為count矢门, 每執(zhí)行一次,count對應的value減1。key不存在自動創(chuàng)建并賦值為0祟剔, 執(zhí)行第一次后為-1隔躲。

value可以轉換成整形時,可以設置按照指定數(shù)值遞增:incrby key 遞增值物延。如incrby count 4宣旱。count從0開始,每次遞增4叛薯。

value可以轉換成整形時浑吟,可以設置按照指定數(shù)值遞減:decrby key 遞減值。如decrby count 4耗溜。count從0開始组力,每次遞增4。

散列類型(key, (field, value))

存值:hset key field value抖拴。如 hset user name 張三燎字,成功返回1。
取值:hget key field阿宅。如 hget user name轩触, 返回對應的name值。沒有返回null
存多個值:hmset key field1 value1 field2 value2家夺。如 hmset user age 18 address 北京脱柱,成功返回OK。
取多個值:hmget key field1 field2 field3拉馋。如 hmget user name age address榨为,有值返回,沒值返回空煌茴。
查看包含field數(shù)量:hlen key随闺。如hlen user
獲取key下的field/value:hgetall key 。如hgetall user
獲取所有的field:hkeys key 蔓腐。如hkeys user
獲取所有的value:hvals key 矩乐。如hvals user
刪除指定field:hdel key field 。如hdel user field

列表(key values[value1, value2, value3……])

list左側存值:lpush key values[value1, value2, value3……]回论。如lpush mylist 1 2 3 4散罕。成功返回list的數(shù)量。
list右側存值:rpush key values[value1, value2, value3……]傀蓉。如rpush mylist 5 6 7 8欧漱。
鏈表元素數(shù)量:llen key。 如llen mylist葬燎。
指定位置元素:lrange key start end误甚。如lrange mylist 3 5缚甩。start 可以為負數(shù)。比如-1代表最后一個窑邦, -2代表倒數(shù)第二個擅威。start和end為索引。上面的存儲values為4 3 2 1 5 6 7 8冈钦,end大于最后一個數(shù)的索引了按照最后一個值算郊丛。
彈出左邊元素:lpop key。如lpop mylist派继。
彈出右邊元素:rpop key宾袜。如果彈出則values列表中不在含有此元素。

集合(key values[value1, value2, value3……])

集合的存儲和list一樣驾窟, 不同的是set中的元素不能重復庆猫,而且set在服務端可以完成多個sets的聚合運算。

添加數(shù)據(jù):sadd key values[value1, value2, value3……]绅络,如果set中已經有了不會重復添加月培。返回成功添加的元素個數(shù)。比如:sadd myset 1 2 2 3 3 4
列舉set中元素:smembers key恩急。如:smembers myset杉畜。
刪除指定成員:srem key members。如srem myset 1 2衷恭。成功返回1
兩個集合取并集:sunion set1 set2此叠。屬于set1或者是屬于set2
兩個集合取交集:sinter set1 set2。屬于set1而且屬于set2
兩個集合去差集:sdiff set1 set2随珠。屬于set1但是不屬于set2

有序集合

集合存儲類型和set一樣灭袁,不同的是有序集合每一個成員都有一個分數(shù)與之關聯(lián),redis可以通過分數(shù)來為集合中的成員進行排序窗看。

添加數(shù)據(jù):zadd key score member1 score member2……茸歧。如zadd myzset 1 a 2 b 3 c,返回添加的數(shù)據(jù)個數(shù)显沈。
列舉zset中的元素:zrange key start end [withscores]:獲取集合中角標為start-end的成員软瞎。withscores 表示返回結果包含分數(shù)。
給集合中成員增加分數(shù):zincrby key score member拉讯。如zincrby myzset 0.1 a涤浇。返回增加后的a的分數(shù)。

刪除元素:zrem key member[member1,member2……]遂唧。如 zrem myzset a b芙代。返回刪除的個數(shù)。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末盖彭,一起剝皮案震驚了整個濱河市纹烹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌召边,老刑警劉巖铺呵,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異隧熙,居然都是意外死亡片挂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門贞盯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來音念,“玉大人,你說我怎么就攤上這事躏敢∶品撸” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵件余,是天一觀的道長讥脐。 經常有香客問我,道長啼器,這世上最難降的妖魔是什么旬渠? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮端壳,結果婚禮上告丢,老公的妹妹穿的比我還像新娘。我一直安慰自己损谦,他們只是感情好岖免,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著成翩,像睡著了一般觅捆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麻敌,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天栅炒,我揣著相機與錄音,去河邊找鬼术羔。 笑死赢赊,一個胖子當著我的面吹牛,可吹牛的內容都是我干的级历。 我是一名探鬼主播释移,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼寥殖!你這毒婦竟也來了玩讳?” 一聲冷哼從身側響起涩蜘,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熏纯,沒想到半個月后同诫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡樟澜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年误窖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秩贰。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡霹俺,死狀恐怖,靈堂內的尸體忽然破棺而出毒费,到底是詐尸還是另有隱情丙唧,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布蝗罗,位于F島的核電站艇棕,受9級特大地震影響,放射性物質發(fā)生泄漏串塑。R本人自食惡果不足惜沼琉,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桩匪。 院中可真熱鬧打瘪,春花似錦、人聲如沸傻昙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妆档。三九已至僻爽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贾惦,已是汗流浹背胸梆。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留须板,地道東北人碰镜。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像习瑰,于是被迫代替她去往敵國和親绪颖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容