當前位置:首頁 » 編程語言 » javaredis

javaredis

發布時間: 2022-01-15 06:48:18

1. 如何在java中使用redis

publicclassRedisListJava{
publicstaticvoidmain(String[]args){
//連接本地的Redis服務
Jedisjedis=newJedis("localhost");
System.out.println("Connectiontoserversucessfully");
//存儲數據到列表中
jedis.lpush("tutorial-list","Redis");
jedis.lpush("tutorial-list","Mongodb");
jedis.lpush("tutorial-list","Mysql");
//獲取存儲的數據並輸出
List<String>list=jedis.lrange("tutorial-list",0,5);
for(inti=0;i<list.size();i++){
System.out.println("Storedstringinredis::"+list.get(i));
}
}
}

2. 怎麼在java中傳redis命令

第一步,在windows安裝配置好redis資料庫。這里我就不再概述了。jedis-2.4.2.jar,當然最好是最新版本的jar包。這個在下就出來的。後,放在一個文件夾下面,一會會需要到。

第二步。打開eclipse,新建一個java工程。如下圖所示:

第三步:在Test這個java工程裡面,我們新建一個folder,命名lib,把剛才的jedis-2.4.2.jar包放在我們新建的lib的包下面,如下圖所示:

第四步,在eclipse中,選中jar包,build path下。然後我們再Test這個項目裡面我們新建一個class,class名字為TestConnect。

第五步,在類裡面,我們輸入如下的內容:
// Connecting to Redis server on localhost
//實例化一個客戶端
Jedis jedis = new Jedis("localhost");
//=================================================
// check whether server is running or not
//ping下,看看是否通的
System.out.println("Server is running: " + jedis.ping());
//保存一個
jedis.set("leiTest", "localhost Connection ?sucessfully");
//獲取一個
System.out.println("通過key獲取value: ? ?" + jedis.get("leiTest"));

第六步,對剛才的類進行運行,ctrl+f11快捷鍵運行下,如下圖所示:

第七步,進一步驗證我們是否在redis上是否保存了數據,並且能夠取出來,我們到redis安裝包的目錄,如下圖,打開紅色框內的 redis-cli.exe,打開後,我們進入下面的第二個圖片的界面。

第八步:我們在redis的客戶端的界面 輸入 ?get leiTest ?這個指令。leiTest是剛才在eclipse中我們存入redis資料庫中的一個String類型的鍵。如下圖,證明我們確實成功了,你也試試吧。

3. Java操作redis的jedis的范圍查詢是怎麼寫的

Java操作redis的jedis的范圍查詢是怎麼寫的? 我要從一個范圍到另一個范圍的區間

我試過了,
List<String> userList = jedis.lrange("userList", 0, -1);

Set<String> user = jedis.zrange("user", 0, -1);

這兩個范圍查詢的得到結果,為何都是 0

但是我用 Set<String> str =jedis.keys("tes2:*");

發現是用完整的數據的,我一次性讀取這么多數據,redis直接socket失敗了

4. 如何用java獲取redis的info

預備
jedis-2.5.2
commons-pool2-2.2.jar
使用單連接
此方式僅建議用於開發環境做調試用。
// 創建連接
String host = "192.168.56.102";
int port = 6379;
Jedis client = new Jedis(host, port);
// 執行set指令
String result = client.set("key-string", "Hello, Redis!");
System.out.println( String.format("set指令執行結果:%s", result) );
// 執行get指令
String value = client.get("key-string");
System.out.println( String.format("get指令執行結果:%s", value) );
運行上述代碼,控制台輸出:
set指令執行結果:OK
get指令執行結果:Hello, Redis!
使用連接池
此方式適用於僅使用單個Redis實例的場景。
// 生成連接池配置信息
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(10);
config.setMaxTotal(30);
config.setMaxWaitMillis(3*1000);

// 在應用初始化的時候生成連接池
JedisPool pool = new JedisPool(config, "192.168.56.102", 6379);

// 在業務操作時,從連接池獲取連接
Jedis client = pool.getResource();
try {
// 執行指令
String result = client.set("key-string", "Hello, Redis!");
System.out.println( String.format("set指令執行結果:%s", result) );
String value = client.get("key-string");
System.out.println( String.format("get指令執行結果:%s", value) );
} catch (Exception e) {
// TODO: handle exception
} finally {
// 業務操作完成,將連接返回給連接池
if (null != client) {
pool.returnResource(client);
}
} // end of try block

// 應用關閉時,釋放連接池資源
pool.destroy();

運行上述代碼,控制台輸出:

set指令執行結果:OK
get指令執行結果:Hello, Redis!
使用連接池+分布式
在規模較大的系統中,往往會有多個Redis實例做負載均衡。並且還實現主從備份,當主實例發生故障時,切換至從實例提供服務。
類似於Memcached的客戶端,Jedis也提供了客戶端分布式操作的方式,採用一致性哈希演算法
// 生成多機連接信息列表
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add( new JedisShardInfo("127.0.0.1", 6379) );
shards.add( new JedisShardInfo("192.168.56.102", 6379) );

// 生成連接池配置信息
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(10);
config.setMaxTotal(30);
config.setMaxWaitMillis(3*1000);

// 在應用初始化的時候生成連接池
ShardedJedisPool pool = new ShardedJedisPool(config, shards);

// 在業務操作時,從連接池獲取連接
ShardedJedis client = pool.getResource();
try {
// 執行指令
String result = client.set("key-string", "Hello, Redis!");
System.out.println( String.format("set指令執行結果:%s", result) );
String value = client.get("key-string");
System.out.println( String.format("get指令執行結果:%s", value) );
} catch (Exception e) {
// TODO: handle exception
} finally {
// 業務操作完成,將連接返回給連接池
if (null != client) {
pool.returnResource(client);
}
} // end of try block

// 應用關閉時,釋放連接池資源
pool.destroy();

運行上述代碼,控制台輸出:

set指令執行結果:OK
get指令執行結果:Hello, Redis!

5. redis java 有什麼用

Java連接redis的使用示例
Redis是開源的key-value存儲工具,redis通常用來存儲結構化的數據,因為redis的key可以包含String、hash、listset和sorted list。

Redisclient支持多種語言,包括:c、C++、C#、php、java、python、go等語言,根據自己的開發語言,選擇合適的redis client版本類型即可。我是使用java語言開發的,針對java語言,redis client也提供了多種客戶端支持,按照推薦類型依次是:Jedis、Redisson、JRedis、JDBC-Redis、RJC、redis-protocol、aredis、lettuce。前兩種類型是比較推薦的,我們採用了Redisson類型版本作為redisclient的使用。

Redisson版的redis可發工程搭建
1. 新建maven工程
2. 在pom.xml文件的dependencies節點下增加如下內容:

<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>1.0.2</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>

3. 保存pom.xml後,等eclispe工程構建完成後即可進行開發了

開發示例
下面是演示連接redis伺服器、保存讀取concurrentMap對象、保存讀取set對象和保存讀取Queue對象的示例代碼,代碼比較簡單,這里就不再詳細講解了,代碼如下:
[java] view plain
package com.my.test.redis;

import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ConcurrentMap;

import org.redisson.Config;
import org.redisson.Redisson;

public class RedisExample {

/**
* @param args
*/
public static void main(String[] args) {
// 1.初始化
Config config = new Config();
config.setConnectionPoolSize(10);
config.addAddress("127.0.0.1:6379");
Redisson redisson = Redisson.create(config);
System.out.println("reids連接成功...");

// 2.測試concurrentMap,put方法的時候就會同步到redis中
ConcurrentMap<String, Object> map = redisson.getMap("FirstMap");
map.put("wuguowei", "男");
map.put("zhangsan", "nan");
map.put("lisi", "女");

ConcurrentMap resultMap = redisson.getMap("FirstMap");
System.out.println("resultMap==" + resultMap.keySet());

// 2.測試Set集合
Set mySet = redisson.getSet("MySet");
mySet.add("wuguowei");
mySet.add("lisi");

Set resultSet = redisson.getSet("MySet");
System.out.println("resultSet===" + resultSet.size());

//3.測試Queue隊列
Queue myQueue = redisson.getQueue("FirstQueue");
myQueue.add("wuguowei");
myQueue.add("lili");
myQueue.add("zhangsan");
myQueue.peek();
myQueue.poll();

Queue resultQueue=redisson.getQueue("FirstQueue");
System.out.println("resultQueue==="+resultQueue);

// 關閉連接
redisson.shutdown();
}

}

6. java 中redis 如何使用

這是我之前寫的代代碼,可以參考一下:

importjava.util.Set;

importcom.google.gson.Gson;

importredis.clients.jedis.Jedis;
importredis.clients.jedis.JedisPool;
importredis.clients.jedis.JedisPoolConfig;

publicclassApp{

publicstaticvoidmain(String[]args){

JedisPoolConfigconfig=newJedisPoolConfig();

config.setMaxIdle(5);
config.setMaxWaitMillis(10000);
config.setTestOnBorrow(false);

JedisPooljedisPool=newJedisPool(config,"127.0.0.1",6379);

Jedisjedis=jedisPool.getResource();

jedis.flushDB();

jedis.set("name","Tom");

Useruser=newUser(1,"Tom","User");

Gsongson=newGson();

Stringjson=gson.toJson(user);

jedis.set("user1",json);

Set<String>keys=jedis.keys("*");

for(Stringkey:keys){
System.out.println(key);
}
}
}

如果有疑問,可以隨時追問。

7. redis在實際開發中,使用Java哪個框架

1、存儲簡單數據

try {
Jedis jedis = new Jedis();
jedis.set("name", "JackGSmith");
} catch (Exception e) {
//如果緩存連不上,則不處理
System.out.println("登錄無法更新該用戶緩存");
}

從redis緩存中獲取key為「name」的值,使用jedis.get("name"),用一個String變數接收即可。
2、存儲對象、集合
存對象集合用序列化的方式存儲,用反序列化的方式取值。存儲的key和value都是轉化成位元組碼的形式。
先定義一個抽象類:SerializeTranscoder.java,代碼如下:

package cn.com.taiji.sample.utils;

import java.io.Closeable;
import java.io.IOException;

public abstract class SerializeTranscoder {

public abstract byte[] serialize(Object value);

8. java程序怎麼連接redis

packagecom.my.test.redis;

importjava.util.Queue;
importjava.util.Set;
importjava.util.concurrent.ConcurrentMap;

importorg.redisson.Config;
importorg.redisson.Redisson;

publicclassRedisExample{

/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//1.初始化
Configconfig=newConfig();
config.setConnectionPoolSize(10);
config.addAddress("127.0.0.1:6379");
Redissonredisson=Redisson.create(config);
System.out.println("reids連接成功...");

//2.測試concurrentMap,put方法的時候就會同步到redis中
ConcurrentMap<String,Object>map=redisson.getMap("FirstMap");
map.put("wuguowei","男");
map.put("zhangsan","nan");
map.put("lisi","女");

ConcurrentMapresultMap=redisson.getMap("FirstMap");
System.out.println("resultMap=="+resultMap.keySet());

//2.測試Set集合
SetmySet=redisson.getSet("MySet");
mySet.add("wuguowei");
mySet.add("lisi");

SetresultSet=redisson.getSet("MySet");
System.out.println("resultSet==="+resultSet.size());

//3.測試Queue隊列
QueuemyQueue=redisson.getQueue("FirstQueue");
myQueue.add("wuguowei");
myQueue.add("lili");
myQueue.add("zhangsan");
myQueue.peek();
myQueue.poll();

QueueresultQueue=redisson.getQueue("FirstQueue");
System.out.println("resultQueue==="+resultQueue);

//關閉連接
redisson.shutdown();
}

}

9. java程序,redis操作,存儲

你可以把組裝好了得map數據轉成json字元串,然後存到redis裡面,從redis取出來之後再轉回來使用

10. 怎麼使用java訪問redis

public class RedisListJava {
public static void main(String[] args) {
//連接本地的 Redis 服務
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
//存儲數據到列表中
jedis.lpush("tutorial-list", "Redis");
jedis.lpush("tutorial-list", "Mongodb");
jedis.lpush("tutorial-list", "Mysql");
// 獲取存儲的數據並輸出
List<String> list = jedis.lrange("tutorial-list", 0 ,5);
for(int i=0; i<list.size(); i++) {
System.out.println("Stored string in redis:: "+list.get(i));
}
}
}

熱點內容
循跡小車演算法 發布:2024-12-22 22:28:41 瀏覽:81
scss一次編譯一直生成隨機數 發布:2024-12-22 22:04:24 瀏覽:954
嫁接睫毛加密 發布:2024-12-22 21:50:12 瀏覽:974
linuxbin文件的安裝 發布:2024-12-22 21:46:07 瀏覽:798
vlcforandroid下載 發布:2024-12-22 21:45:26 瀏覽:664
電腦做網關把數據發送至伺服器 發布:2024-12-22 21:44:50 瀏覽:431
新華三代理什麼牌子的伺服器 發布:2024-12-22 21:33:21 瀏覽:342
歡太會員密碼是什麼 發布:2024-12-22 20:57:28 瀏覽:74
sqllocaldb 發布:2024-12-22 20:07:08 瀏覽:126
如何找到我的伺服器 發布:2024-12-22 19:52:14 瀏覽:301