目录
2.3.8 遍历 zset (sorted set:有序集合)
1. Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
Redis用途:1. 数据库 2. 缓存
2. Java访问redis
2.1 在pom.xml文件里添加以下依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2.2 Java连接redis
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
}
}
2.3 Java操作redis
2.3.1 切换数据库
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);//数据库有十六个 0-15
}
}
2.3.2 string(字符串)
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
//string(字符串)
jedis.set("name", "张三");
jedis.set("age","18");
jedis.set("sex","男");
}
}
2.3.3 hash(哈希)
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
//hash(哈希)
jedis.hset("student","name","李四");
jedis.hset("student","sex","女");
jedis.hset("student","age","20");
}
}
- redis可视化工具可查看数据
2.3.4 使用 Map hash(哈希)
- 注意哈!易于简易开发hash不能一次操作多个 所以使用Map来一次传入多个
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
//map hash
Map map = new HashMap();
map.put("name","死猪");
map.put("sex","男");
map.put("age","20");
jedis.hmset("map",map);
}
}
- redis可视化工具可查看数据
2.3.5 list(列表)
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
//list(列表)
jedis.lpush("dog","name","旺财","sex","公","age","1","hobby","啃骨头");
}
}
- redis可视化工具可查看数据
2.3.6 set(集合)
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
// set(集合)
jedis.sadd("cat","name","翠花","sex","母","age","8");
}
}
- redis可视化工具可查看数据
2.3.7 zset (sorted set:有序集合)
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
//zset(sorted set:有序集合)
jedis.zadd("tiger",0d,"泰哥");
jedis.zadd("tiger",1d,"猛男");
jedis.zadd("tiger",2d,"爱小翠");
}
}
- redis可视化工具可查看数据
2.3.8 遍历 zset (sorted set:有序集合)
package com.jmh.redis.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
/**
* @author 蒋明辉
* @data 2022/9/22 19:46
*/
public class Demo {
public static void main(String[] args) {
//ip
String ip="192.168.111.132";
//端口
int port=6379;
//实例redis
Jedis jedis = new Jedis(ip,port);
//密码验证 不需要未设置
//jedis.auth("xxx");
//切换数据库
jedis.select(3);
//zset(sorted set:有序集合)
jedis.zadd("tiger",0d,"泰哥");
jedis.zadd("tiger",1d,"猛男");
jedis.zadd("tiger",2d,"爱小翠");
//遍历
int cursor = 0;
ScanResult<Tuple> result = jedis.zscan("tiger", cursor);
System.out.println("cursor=" + cursor);
for (Tuple tuple : result.getResult()) {
cursor = Integer.valueOf(result.getStringCursor());
System.out.println("cursor:" + cursor);
String obj = tuple.getElement();
double score = tuple.getScore();
System.out.println(score + "," + obj);
}
}
}
- 效果