当前位置:首页 » 编程语言 » 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-11-15 09:55:09 浏览:801
花雨庭国际服服务器ip 发布:2024-11-15 09:54:00 浏览:503
服务器的空岛如何刷钱 发布:2024-11-15 09:40:52 浏览:262
安卓系统录像设置在哪里 发布:2024-11-15 09:36:33 浏览:917
电信级服务器电脑 发布:2024-11-15 09:26:27 浏览:246
压缩某个文件夹 发布:2024-11-15 09:03:11 浏览:891
网址能解压吗 发布:2024-11-15 08:54:09 浏览:933
python更改目录 发布:2024-11-15 08:41:08 浏览:265
服务器闪存可以装在一般电脑上吗 发布:2024-11-15 08:36:46 浏览:8
安卓手机怎么查询自己的路线轨迹 发布:2024-11-15 08:32:19 浏览:969