5分鐘帶你入門Redis

1.redis概述

redis是一個開源的,先進的 key-value 存儲可用于構(gòu)建高性能的存儲解決方案肄方。它支持數(shù)據(jù)結(jié)構(gòu)有字符串,哈希蹬癌,列表权她,集合,帶有范圍查詢的排序集逝薪,位圖隅要,超文本和具有半徑查詢的地理空間索引。 NoSQL董济,Not Only [SQL]步清,泛指非關(guān)系型的數(shù)據(jù)庫。所以redis是一種nosql。敲黑板畫重點:redis是一種nosql.

redis的優(yōu)點:

  • 異忱。快速
  • 支持豐富的數(shù)據(jù)類型
  • 操作都是原子的

2.下載安裝

linux 系統(tǒng)下安裝:

$ wget http://download.redis.io/releases/redis-3.2.6.tar.gz
$ tar xzf redis-3.2.6.tar.gz
$ cd redis-3.2.6
$ make

```

啟動服務(wù)器:

 ```
    $ src/redis-server
 ```
 
 啟動客戶端
 
 ```
 $ src/redis-cli
 ```
  
mac下安裝:

 ```
brew install redis
```
啟動:

```
redis-server
redis-cli 

```
 windows下安裝:

由于官方并沒有提供windows 版本欢搜,不過微軟為了能夠應(yīng)用redis 到 windows服務(wù)器,由微軟維護了windows版的redis谴轮,下載地址:[點擊進入](https://github.com/MSOpenTech/redis/releases).建議下載msi 版本狂巢,直接安裝即可。

![sss](http://upload-images.jianshu.io/upload_images/2279594-ddad8a98ff77bace.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

 
啟動成功:

```

[35142] 01 May 14:36:28.939 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
[35142] 01 May 14:36:28.940 * Max number of open files set to 10032
                _._
              _.-``__ ''-._
        _.-``    `.  `_.  ''-._           Redis 2.6.12 (00000000/0) 64 bit
    .-`` .-```.  ```\/    _.,_ ''-._
  (    '      ,       .-`  | `,    )     Running in stand alone mode
  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
  |    `-._   `._    /     _.-'    |     PID: 35142
    `-._    `-._  `-./  _.-'    _.-'
  |`-._`-._    `-.__.-'    _.-'_.-'|
  |    `-._`-._        _.-'_.-'    |           http://redis.io
    `-._    `-._`-.__.-'_.-'    _.-'
  |`-._`-._    `-.__.-'    _.-'_.-'|
  |    `-._`-._        _.-'_.-'    |
    `-._    `-._`-.__.-'_.-'    _.-'
        `-._    `-.__.-'    _.-'
            `-._        _.-'
                `-.__.-'

[35142] 01 May 14:36:28.941 # Server started, Redis version 2.6.12
[35142] 01 May 14:36:28.941 * The server is now ready to accept connections on port 6379

```
 
### 3.redis 支持的數(shù)據(jù)類型
 
#### 3.1字符串
啟動客戶端 ,存儲字符串到redis.

```
redis> SET name forezp
OK
```
 
 取字符串:
 
```
 redis> get name 
"forezp"
 ```

#### 3.2Hashes - 哈希值

```

redis > HMSET king username forezp password xxdxx age 22
redis > HGETALL king
1) "username"
2) "forezp "
3) "password "
4) "xxdxx "
5) "age "
6) "22"
```

#### 3.3 Lists - 列表

```
redis> lpush pricess jack
(integer) 1
redis 127.0.0.1:6379> lpush pricess jolin
(integer) 2
redis 127.0.0.1:6379> lpush pricess mayun
(integer) 3
redis 127.0.0.1:6379> lrange pricess 0 10
1) "jack"
2) "jolin"
3) "mayun"

```
#### 3.4 Redis有序集合
Redis有序集合類似Redis集合存儲在設(shè)定值唯一性书聚。不同的是,一個有序集合的每個成員帶有分數(shù)藻雌,用于以便采取有序set命令雌续,從最小的到最大的分數(shù)有關(guān)。

```
redis > ZADD kindom 1 redis
(integer) 1
redis> ZADD kindom 2 mongodb
(integer) 1
redis > ZADD kindom 3 mysql
(integer) 1
redis > ZADD kindom 3 mysql
(integer) 0
redis > ZADD kindom 4 mysql
(integer) 0
redis > ZRANGE kindom 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"

```

#### 3.5 Redis發(fā)布訂閱

開啟客戶端作為接受者
```

redis> SUBSCRIBE myking messages...
 (press Ctrl-C to quit
)1) "subscribe"
2) "myking "
3) (integer) 1

```

開啟另一個客戶端作為發(fā)送者:

```
redis > PUBLISH myking "Redis is a great caching technique"
(integer) 1

```

這樣接受者就可以收到:

 ```
"Redis is a great caching technique"
```
#### 3.6 其他的一些操作

1.獲取所以的key

 ```
redis> KEYS *

```

2,判斷key是否存在

```
EXISTS key
```

3.刪除key 

```
DEL key [key …]
```

4.獲取數(shù)據(jù)類型

```

TYPE key
```

5.向尾部添加

 ```
APPEND key value

```

6.獲取字符串長度

```
strlen key
```

當然這里只是介紹簡單的一些操作胯杭,復(fù)雜的參考官方文檔驯杜。

###  4. 在java應(yīng)用中使用redis---jedis

前提是redis 已經(jīng)安裝,并且已經(jīng)開啟服務(wù)做个。

 jedis 下載地址 [https://github.com/xetorthio/jedis](https://github.com/xetorthio/jedis)

>Jedis is a blazingly small and sane [Redis](http://github.com/antirez/redis) java client.
Jedis was conceived to be EASY to use.

>翻譯: jedis是一個非常小的java客戶端鸽心,被認為是容易使用。

*怎么使用居暖?*



```

    public static void main(String[] args){

        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");
        //check whether server is running or not
        System.out.println("Server is running: "+jedis.ping());
        jedis.lpush("forezp-list", "Redis");
        jedis.lpush("forezp-list", "Mongodb");
        jedis.lpush("forezp-list", "Mysql");
        // Get the stored data and print it
        List<String> list = jedis.lrange("forezp-list", 0 ,5);
        for(int i=0; i<list.size(); i++) {
            System.out.println("Stored string in redis:: "+list.get(i));
        }

    }

```

運行:

> Connection to server sucessfully
Server is running: PONG
Stored string in redis:: Mysql
Stored string in redis:: Mongodb
Stored string in redis:: Redis
Stored string in redis:: Mysql
Stored string in redis:: Mongodb
Stored string in redis:: Redis

 redis 入門介紹就到這里了顽频。另外,*敲黑板太闺,劃重點:* 遇到問題首先不要去百度搜糯景,要去官網(wǎng)搜。聰明的你省骂,是不是自己安裝下 蟀淮,實踐下。

關(guān)注我:

![image](http://upload-images.jianshu.io/upload_images/2279594-d29ff92d129d6041.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钞澳,一起剝皮案震驚了整個濱河市怠惶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轧粟,老刑警劉巖策治,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逃延,居然都是意外死亡览妖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門揽祥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讽膏,“玉大人,你說我怎么就攤上這事拄丰「鳎” “怎么了俐末?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奄侠。 經(jīng)常有香客問我卓箫,道長,這世上最難降的妖魔是什么垄潮? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任烹卒,我火速辦了婚禮,結(jié)果婚禮上弯洗,老公的妹妹穿的比我還像新娘旅急。我一直安慰自己,他們只是感情好牡整,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布藐吮。 她就那樣靜靜地躺著,像睡著了一般逃贝。 火紅的嫁衣襯著肌膚如雪谣辞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天沐扳,我揣著相機與錄音泥从,去河邊找鬼。 笑死沪摄,一個胖子當著我的面吹牛歉闰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卓起,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼和敬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了戏阅?” 一聲冷哼從身側(cè)響起昼弟,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奕筐,沒想到半個月后舱痘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡离赫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年芭逝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渊胸。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡旬盯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胖翰,我是刑警寧澤接剩,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站萨咳,受9級特大地震影響懊缺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜培他,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一鹃两、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舀凛,春花似錦怔毛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碎绎。三九已至螃壤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筋帖,已是汗流浹背奸晴。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留日麸,地道東北人寄啼。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像代箭,于是被迫代替她去往敵國和親墩划。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容