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,如下;
阅读全文
0 0
- redis的基本存储结构的简单使用
- redis的存储结构
- redis的基本使用
- Redis的基本使用
- 使用redis仅保存最新的token并分析redis存储结构
- redis的简单使用
- Redis的简单使用
- redis的简单使用
- redis的简单使用
- redis 的简单使用
- Redis学习笔记之二:Redis的数据存储结构
- 单链表的存储结构及其基本操作
- 数据的最基本存储结构
- 字符串顺序存储结构的基本运算
- 字符串链式存储结构的基本运算
- Mysql存储过程的基本结构
- MySQL存储结构的使用
- 存储过程的基本使用
- button与input标签
- pl/sql 下载安装
- 《python核心编程第二版第七章习题补充》
- spring整合dwr架构(ftl+ssm)以及dwr.xml配置,原理,优缺点讲解,面试题总结
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
- redis的基本存储结构的简单使用
- 怎样用通俗的语言解释REST,以及RESTful?
- Spring web环境容器启动流程
- jQuery 事件——关于Select选中
- 树状数组模板
- 套接字缓冲区 boost asio
- 基于maven使用IDEA创建多模块项目
- 记录一个过滤网址
- HDU 4810 Wall Painting