redis的基本存储结构的简单使用

来源:互联网 发布:linux虚拟主机销售系统 编辑:程序博客网 时间:2024/05/19 07:07

最近看了redis的,对redis的存储结构有了个了解,它本身一个key-value形式的存储方式,不需要和数据库打交道,自己就是一个高性能的数据库。存储类型包括String、List、Set、Hash和有序集合五种结构方式。

在本机电脑上安装了redis服务,创建本地连接对几个基本存储结构做一些简单的使用。

一、安装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,如下;


原创粉丝点击