在本机电脑上安装了redis服务,创建本地连接对几个基本存储结构做一些简单的使用。redis存储类型包括String、List、Set、Hash和有序集合五种结构方式。
一、安装redis服务
本地直接简单的安装了redis服务,在官网去下载对应你的版本,点击运行redis-server.exe,如图,表示服务已经启动。redis本身不能后台自动启动,需要手动启动服务操作。
二、测试连接
1、redis的配置信息
host=127.0.0.1
port=6379
pwd=123456
maxTotal=200
maxIdle=30
minIdle=10
maxWaitMillis=10000
2、获取配置信息,工具类装载配置文件
public class PropertiesUtils {
private static Properties properties;
static {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
InputStream is = classLoader.getResourceAsStream("redis.properties");
properties = new Properties();
properties.load(is);
} catch (Exception e) {
try {
throw new Exception("获取参数出错!", e);
} catch (Exception e1) {
}
}
}
/**
* 获取配置文件中value
*/
public static String getProperty(String key) {
return properties.getProperty(key);
}
}
3、读取配置文件中的值并初始化连接池连接
private static JedisPool pool;
static {
String host = PropertiesUtils.getProperty("host");
int port = Integer.valueOf(PropertiesUtils.getProperty("port"));//本机默认127.0.0.1
// String password = PropertiesUtils.getProperty("pwd");//redis默认无密码
JedisPoolConfig config = new JedisPoolConfig();
//最大连接数
config.setMaxTotal(Integer.valueOf(PropertiesUtils.getProperty("maxTotal")));
//最大空闲连接数
config.setMaxIdle(Integer.valueOf(PropertiesUtils.getProperty("maxIdle")));
//最小空闲连接数
config.setMinIdle(Integer.valueOf(PropertiesUtils.getProperty("minIdle")));
//获取连接时最大等待的毫秒数
config.setMaxWaitMillis(Integer.valueOf(PropertiesUtils.getProperty("maxWaitMillis")));
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
config.setTestWhileIdle(true);
config.setTimeBetweenEvictionRunsMillis(30000);
config.setNumTestsPerEvictionRun(10);
config.setMinEvictableIdleTimeMillis(60000);
pool = new JedisPool(config, host, port);
}
/**
* 获取连接
*/
public static Jedis getJedisConnection() {
Jedis jedis = null;
try {
jedis = pool.getResource();
} catch (Exception e) {
e.printStackTrace();
}
return jedis;
}
4、连接操作,先启动redis服务
public static void main(String[] args) {
Jedis jedis = JedisPoolUtils.getJedisConnection();
System.out.println("连接成功!" + jedis.ping());
}
控制台输出:连接成功!PONG
此时可以通过配置连接redis服务了。
三、存储结构的简单使用
1、String、List、Set、Hash四种的添加
/**
* List方式添加
* @param jedis
* @param key
* @param list
/
public static void typeOfList(Jedis jedis, String key, List<String> list){
if(list != null && list.size() > 0){
for (String str : list) {
jedis.lpush(key, str);
}
}
}
/*
* Set方式添加
* @param jedis
* @param key
* @param set
/
public static void typeOfSet(Jedis jedis, String key, Set<String> set){
List<String> list = new ArrayList<String>(set);
if(list != null && list.size() > 0){
for (String str : list) {
jedis.sadd(key, str);
}
}
}
/*
* 字符串方式添加
* @param jedis
* @param key
* @param value
/
public static void typeOfStr(Jedis jedis, String key, String value){
jedis.set(key, value);
}
/*
* Hash方式
* @param jedis
* @param key
* @param map
*/
public static void typeOfHash(Jedis jedis, String key, Map<String, String> map){
jedis.hmset(key, map);
}
2、分别对各种结构进行赋值
//string方式
JedisPoolUtils.typeOfStr(jedis, "key1", "value1");
//set方式
Set<String> set = new HashSet<String>();
set.add("s1");
set.add("s2");
JedisPoolUtils.typeOfSet(jedis, "set1", set);
//list方式
List<String> list = new ArrayList<String>();
list.add("l1");
list.add("l2");
JedisPoolUtils.typeOfList(jedis, "list1", list);
//hash方式
Map<String, String> map = new HashMap<String, String>();
map.put("f1", "h1");
map.put("f2", "h2");
map.put("f3", "h3");
JedisPoolUtils.typeOfHash(jedis, "hash1", map);
3、查看刚才做的存储的结果,采用命令行的方式展示,先打开命令窗口,如下连接上本机:
根据命令获取对应存储结构的value值,依次是String、List、Set、Hash四个的value,如下;