Redis的安裝及在Java中的使用
Redis的安裝及在Java中的使用
REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value儲存系統。
Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。
它通常被稱為資料結構伺服器,因為值(value)可以是 字串(String), 雜湊(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。
Redis 優勢
效能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
豐富的資料型別 – Redis支援二進位制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料型別操作。
原子 – Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支援事務,即原子性,通過MULTI和EXEC指令包起來。
豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。
Redis與其他key-value儲存有什麼不同?
Redis有著更為複雜的資料結構並且提供對他們的原子性操作,這是一個不同於其他資料庫的進化路徑。Redis的資料型別都是基於基本資料結構的同時對程式設計師透明,無需進行額外的抽象。
Redis執行在記憶體中但是可以持久化到磁碟,所以在對不同資料集進行高速讀寫時需要權衡記憶體,因為資料量不能大於硬體記憶體。在記憶體資料庫方面的另一個優點是,相比在磁碟上相同的複雜的資料結構,在記憶體中操作起來非常簡單,這樣Redis可以做很多內部複雜性很強的事情。同時,在磁碟格式方面他們是緊湊的以追加的方式產生的,因為他們並不需要進行隨機訪問。
安裝Redis
Window 下安裝
下載地址:https://github.com/MicrosoftArchive/redis/releases。
Redis 支援 32 位和 64 位。這個需要根據你係統平臺的實際情況選擇,這裡我們下載 Redis-x64-xxx.zip壓縮包到 C 盤,解壓後,將資料夾重新命名為 redis。
開啟一個 cmd 視窗 使用 cd 命令切換目錄到 C:\redis 執行:
redis-server.exe redis.windows.conf
如果想方便的話,可以把 redis 的路徑加到系統的環境變數裡,這樣就無需再輸路徑了,後面的那個 redis.windows.conf 可以省略,如果省略,會啟用預設的。
這時候另啟一個 cmd 視窗,原來的不要關閉,不然就無法訪問服務端了。
切換到 redis 目錄下執行:
redis-cli.exe -h 127.0.0.1 -p 6379
測試一下。設定鍵值對:
set myKey abc
取出鍵值對:
get myKey
Ubuntu下安裝
在 Ubuntu 系統安裝 Redis 可以使用以下命令:
$sudo apt-get update
$sudo apt-get install redis-server
啟動 Redis
$ redis-server
檢視 redis 是否啟動?
$ redis-cli
以上命令將開啟以下終端:
redis 127.0.0.1:6379>
127.0.0.1 是本機 IP ,6379 是 redis 服務埠。現在我們輸入 PING 命令。
redis 127.0.0.1:6379> ping
PONG
以上說明我們已經成功安裝了redis。
在Java中使用Redis
在maven專案中新增以下依賴:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.0.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
連線到 redis 服務
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//連線本地的 Redis 服務
Jedis jedis = new Jedis("localhost");
System.out.println("連線成功");
//檢視服務是否執行
System.out.println("服務正在執行: "+jedis.ping());
}
}
編譯執行以上Java程式:
連線成功
服務正在執行: PONG
Redis Java String(字串) 例項
//設定 redis 字串資料
jedis.set("ccbkey", "www.ccb.com");
System.out.println("ccbkey儲存的字串為: " + jedis.get("ccbkey"));
執行結果:
ccbkey儲存的字串為: www.ccb.com
Redis Java List(列表) 例項
//儲存資料到列表中
jedis.lpush("site-list", "CCB");
jedis.lpush("site-list", "Google");
jedis.lpush("site-list", "Taobao");
// 獲取儲存的資料並輸出
List<String> list = jedis.lrange("site-list", 0, 2);
for (int i = 0; i < list.size(); i++) {
System.out.println("列表項為: " + list.get(i));
}
執行結果:
列表項為: Taobao
列表項為: Google
列表項為: CCB
Redis Java Keys 例項
// 獲取所有鍵並輸出
Set<String> keys = jedis.keys("*");
Iterator<String> it = keys.iterator();
while (it.hasNext()) {
String key = it.next();
System.out.println("鍵為"+key);
}
執行結果:
鍵為site-list
鍵為ccbkey
相關文章
- Redis在.net中的使用(1)下載安裝RedisRedis
- Redis的安裝及基本使用Redis
- Windows下安裝Redis及使用Python操作Redis的方法WindowsRedisPython
- Java及JDK在deepin下的安裝JavaJDK
- Redis在Window服務下的安裝使用Redis
- Java Redis系列2 (redis的安裝與使用+redis持久化的實現))JavaRedis持久化
- redis 簡介及windows 下的redis 安裝RedisWindows
- 在 wsl2 中安裝redisRedis
- ElasticSearch安裝及java Api使用ElasticsearchJavaAPI
- Git的安裝及使用Git
- miniconda的安裝及使用
- kafka的安裝及使用Kafka
- Redis在.net中的使用(2).net專案中的Redis使用Redis
- 在Ubuntu中安裝Docker和docker的使用UbuntuDocker
- linux中安裝JDK linux中安裝Tomcat linux中安裝Mysql 及故障解析 linux系統安裝redisLinuxJDKTomcatMySqlRedis
- windows下Redis的安裝和使用WindowsRedis
- MAC XAMPP 整合使用Redis 及 安裝php redis擴充套件MacRedisPHP套件
- Redis的安裝及建立節點、部署群集Redis
- Raspberry:Wiringpi的安裝及使用
- python Mqtt 的安裝及使用PythonMQQT
- Angular CLI的安裝及使用Angular
- NodeJs 在window中安裝使用NodeJS
- Redis在.net中的使用(5)Redis持久化Redis持久化
- Redis 安裝與使用Redis
- solr在windows下的安裝及配置SolrWindows
- Linux中安裝RedisLinuxRedis
- VC++ 6.0的安裝及使用C++
- Redis在.net中的使用(6)Redis併發鎖Redis
- php安裝redis擴充套件及操作redisPHPRedis套件
- cuda在ubuntu的安裝使用分享Ubuntu
- 在WSL2的Ubuntu中安裝和使用Docker/PodmanUbuntuDocker
- 在ubuntu上安裝docker, 使用國內的安裝源UbuntuDocker
- Redis在遊戲業務中的使用Redis遊戲
- 【ubuntu】22.04安裝Redis Insight及AnotherRedisDesktopManagerUbuntuRedis
- redis安裝及問題解決Redis
- log4cpp的安裝及使用
- PHP歷理 PhpStorm的安裝及使用PHPORM
- Windows nvm的安裝使用(及排坑)Windows