绪论

下载redis,解压到自定义目录,使用指令redis-server.exe redis.windows.conf启动服务。
\"在这里插入图片描述\"

下载jedis.jar导入我们的Java项目中,

代码

I Dao.java

package com.system.dao;

import java.util.List;
import java.util.Set;

public interface I Dao {

	// ping一下
	public String ping();

	// 获取符合条件的key集合
	public Set<String> getKeys(String key);

	// 设置key和value
	public void setValue(String key, String value);

	// 根据key获取value
	public String getValue(String key);

	// 保存列表
	public void setList(String key, List<String> value);

	// 获取列表
	public List<String> getList(String key, int start, int stop);
}

DaoImpl.java

package com.system.dao.impl;

import java.util.List;
import java.util.Set;

import com.system.dao.I Dao;
import com.tools.Redis;

public class  DaoImpl implements I Dao {

	@Override
	public String ping() {
		return Redis.geInstance().ping();
	}

	@Override
	public Set<String> getKeys(String key) {
		return Redis.geInstance().keys(key);
	}

	@Override
	public void setValue(String key, String value) {
		Redis.geInstance().set(key, value);
	}

	@Override
	public String getValue(String key) {
		return Redis.geInstance().get(key);
	}

	@Override
	public void setList(String key, List<String> value) {
		for (String s : value) {
			Redis.geInstance().lpush(key, s);
		}
	}

	@Override
	public List<String> getList(String key, int start, int stop) {
		return Redis.geInstance().lrange(key, start, stop);
	}
}

Redis.java

package com.tools;

import redis.clients.jedis.Jedis;

public class Redis {

	private Redis() {
	}

	private static volatile Jedis instance = null;

	public static Jedis geInstance() {
		Jedis lsJedis = instance;
		if (lsJedis == null) {
			synchronized (Redis.class) {
				lsJedis = instance;
				if (lsJedis == null) {
					lsJedis = new Jedis(\"localhost\", 6379);
					// 设置密码时,打开下面
					// lsJedis.auth(\"123456\");
					instance = lsJedis;
				}
			}
		}
		return lsJedis;
	}
}

Test.java

package com.system.test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import com.system.dao.I Dao;
import com.system.dao.impl. DaoImpl;

public class Test {

	public static void main(String[] args) {
		I Dao dao = new  DaoImpl();
		// 查看服务是否运行
		System.out.println(\"服务正在运行: \" + dao.ping());
		// 设置 redis 字符串数据
		dao.setValue(\"myKey\", \"www.runoob.com\");
		// 获取存储的数据并输出
		String value = dao.getValue(\"myKey\");
		System.out.println(\"redis 存储的字符串为: \" + value);

		List<String> v = new ArrayList<>();
		v.add(\"abc\");
		v.add(\"def\");
		v.add(\"ghi\");
		// 设置 redis 列表数据
		dao.setList(\"myList\", v);
		// 获取存储的数据并输出
		List<String> vList = dao.getList(\"myList\", 0, 2);
		for (int i = 0; i < vList.size(); i++) {
			System.out.println(\"列表项为: \" + vList.get(i));
		}

		// 获取数据并输出
		Set<String> keys = dao.getKeys(\"*\");
		Iterator<String> it = keys.iterator();
		while (it.hasNext()) {
			String key = it.next();
			System.out.println(\"kays为: \" + key);
		}
	}
}

结果

\"在这里插入图片描述\"

这块代码九月份就写出来了,当时使用Edge浏览器在CSDN上无法粘贴代码,所以就扔到那了,火狐上现在也无法打开CSDN的编译器(⊙o⊙)…

源代码下载地址

(若有什么错误,请留言指正,3Q)

收藏 打印