最近剛剛接觸了redis技術,對此有一些瞭解,這是簡單作一點總結。java
首先,簡單瞭解一下NoSQL(Not only sql),不要錯誤的理解爲:沒有SQL,而是不單單是SQL。NoSQL工具也是一種簡易的數據庫,它主要是基於內存的數據庫,並提供必定的持久化功能。如今有不少這種技術如:memcachedb,redis,MongoDB等等。
Redis 是徹底開源免費的,遵照BSD協議,是一個高性能的key-value數據庫。
Redis的性能十分優越,能夠支持每秒十幾萬的讀/寫操做,其性能超數據庫,而且支持集羣、分佈式、主從同步等配置,還支持必定事務能力。
Redis 與其餘 key - value 緩存產品有如下三個特色:git
redis的性能優越主要來自3個方面:github
通常,在javaweb中應用redis存在兩個場景,一個是緩存經常使用的數據;另外一個是在須要高速讀/寫的場合使用它快速讀/寫,好比一些須要進行商品搶購和搶紅包的場合。
在使用Redis存儲的時候,須要從3個方面進行考慮:web
個人電腦是windows系統的,因此主要以此爲主,其它系統的安裝就沒有介紹。
下載地址:redis
也能夠到Redis的官網下載。
下載下來是一個壓縮包,解壓後的目錄以下:
方便啓動在目錄下新建一個startup.cmd,用編輯工具打開,寫入如下內容:redis-server redis.windows.conf
就是經過命令來讀取redis-window.conf的內容,用來啓動redis,雙擊啓動,出現下圖就說明啓動成功了。
在文件夾下還有一個redis-cli.exe,它一個Redis自帶的客戶端工具,能夠鏈接到redis服務器,如圖:
這樣就安裝好了redis。redis
安裝好了,咱們經過代碼來測試一下redis的性能,要想使用redis,須要下載jedis.jar包。
下面是測試代碼:(代碼來自書上例子)sql
package com.mz.redis; import redis.clients.jedis.Jedis; /** * @Package com.mz.redis * @Description: redis測試 * @auther MZ * @create 2017/10/10 22:14 */ public class RedisTest { public static void main(String[] args) { Jedis jedis = new Jedis("localhost",6379); int i = 0; try { long start = System.currentTimeMillis(); while (true) { long end = System.currentTimeMillis(); if (end - start >= 1000) { break; } i++; jedis.set("test" + i, i + ""); } } finally { jedis.close(); } System.out.println("redis每秒操做:"+i+"次"); } }
結果如圖:
書上做者的性能能夠達到2萬屢次,而個人只有幾千次,每次運行結果都不同。能夠是個人電腦太老了,沒能體現redis真正的性能。數據庫