介紹
掌握以下幾點:
- 知道redis是nosql的一種,除此還有常見的mongodb,hbase,neo4j等
- redis是爲了解決"三高"及大數據存儲等問題,作爲關係型數據庫的補充【注:不能替代mysql】
- redis存儲的數據之間沒有必要的聯繫,不像關係型數據庫在結構上要求有行有列。
- redis屬於的nosql大都事務不好,沒有關係型數據庫強一致性的優勢【現在出現了新的NewSQL】
- redis是單進程,單線程的內存數據庫,不存在線程安全問題,底層採用多路複用(NIO思想)
- 比memcache有更優秀的讀寫性能,更豐富的數據類型
- 9大應用場景(見圖,詳情見後續)
安裝
因爲redis官方沒有Windows版本,所以我們安裝的是Linux版本
好,我們正式進入安裝說明~
要把redis安裝好,總共分四步:
第一步:安裝c語言的GCC環境(已有的忽略)
yum install -y gcc-c++
yum install -y wget
第二步:下載並解壓redis源碼壓縮
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar -zxf redis-5.0.4.tar.gz
第三步:進入 redis-5.0.4目錄,執行編譯命令,編譯源碼
cd redis-5.0.4
make
第四步:安裝redis,通過prefix指定安裝路徑
make install prefix=/software/server/redis
啓動
前端啓動
進入安裝目錄,執行啓動命令
cd /software/server/redis/bin
./redis-server
【關閉】 ctrl+c
【缺點】客戶端窗口關閉,則redis程序結束
後臺啓動(守護進程啓動)
第一次啓動是三步走:
第一步:將源碼目錄中redis.conf文件拷貝到安裝目錄bin目錄下
cp /root/redis-5.0.4/redis.conf /software/server/bin
第二步:進入redis安裝目錄,修改redis.conf文件
vim redis.conf
# 將`daemonize`由`no`改爲`yes`daemonize yes# 默認綁定的是迴環地址,默認不能被其他機器訪問# bind 127.0.0.1# 是否開啓保護模式,由yes該爲noprotected-mode no
第三步:啓動服務,進入安裝目錄的bin目錄,執行啓動命令
./redis.server redis.conf
【關閉】./redis-cli shutdown
驗證
ps -ef | grep redis
連接
兩種方式:
1.命令行客戶端
./redis-cli -h 127.0.0.1 -p 6379
-h:redis服務器ip地址,不寫默認127.0.0.1
-p:redis實例端口號,不寫默認6379
2.java客戶端Jedis
官網提供的java客戶端有Jedis,Redisson,Jredis,JDBC-Redis等,使用最多的Jedis
添加依賴
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- 單元測試Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 配置Maven的JDK編譯級別 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
三種連接方式:
單實例連接
@Test
public void testRedis01(){
Jedis jedis = new Jedis("192.168.71.25", 6379);
String name = jedis.get("name");
System.out.println(name);
jedis.close();
}
連接池連接
@Test
public void testRedis02(){
JedisPool jedisPool = new JedisPool("192.168.71.25",6379);
Jedis resource = jedisPool.getResource();
String name = resource.get("name");
System.out.println(name);
}
還有一種連接redis集羣,這個見後續啦
完結,撒花❀❀❀❀❀❀