• 基于redis 内存数据库简单使用


    ecplise中使用内存数据的客端户,前提要准备要下载两个jar

    commons-pool2-2.0.jar 

    jedis-2.4.2.jar 

    前提准备做好了,那我们就开启redis的服务,打开一个命令窗体输入例如以下命令:redis-server  redis-server  redis根目 edis.conf

     

    server已经开启了。注意端号是6377

    2.eclipse 创建一个项目,把redist须要的包导入项目中

     

    3.写一个Jedis工具类

    public class JedisUtil {

    private static  String  HOST="127.0.0.1";            //本机地址

    private static  Integer PORT=6379;                   //服务port

    private static  JedisPoolConfig config;              //连接池的配置对象

    private static  JedisPool  pool;                     //连接池对象

    static{

             config = new JedisPoolConfig();

             config.setMaxIdle(1024*10);                     //设置内存大小

             pool = new JedisPool(config,HOST);

    }

    /**

     * 

     * @return  从连接池里获取一个Jedis对象

     */

    public static  Jedis  getPoolJedis(){

    return  pool.getResource();

    }

    /**

     * 手动把Jedis对象。回放到连接池里

     */

    public static void returnPoolJedis(Jedis jedis){

    pool.returnResource(jedis);

    }

    /**

     * @return  直接创建一个Jedis连接

     */

    public static Jedis getJedis(){

    return new Jedis(HOSTPORT);

    }

    }

    4.写一个client类操作jedis

    public class Client {

    public static void main(String[] args) {

    //simpleSet();

    mSet();

    }

    private static void mSet() {

    //注意 假设使用 JedisUtil.getJedis(); 是直接创建一个jredis对象,所以不受连接池管理。所以不能回放到连接池里

    Jedis jedis = JedisUtil.getPoolJedis();

    //设置值多个值

    jedis.mset("userName","user1","pwd","123");

    //取值

    List<String> list = jedis.mget("userName","pwd");

    for (String string : list) {

    System.out.println(string);

    }

    jedis.flushDB();

    JedisUtil.returnPoolJedis(jedis);

    }

    private static void simpleSet() {

    Jedis jedis = JedisUtil.getPoolJedis();

    //设置值

    jedis.set("userName""user1");

    //取值

    System.out.println("userName:"+jedis.get("userName"));

    //清空内存数据库

    jedis.flushDB();

    JedisUtil.returnPoolJedis(jedis);

    }

     后补集合的简单操作

    	/**
    	 * hash 操作
    	 */
    	private static void hashSet(){
    		Jedis jedis = JedisUtil.getPoolJedis();
    		//set,设置指定的哈希表里的某个域的值
    		jedis.hset("key1", "user1", "123");
    		jedis.hset("key2", "user2", "456");
    		jedis.hset("key3", "user3", "789");
    		//get,取出指定哈希表里的某个域的值
    		System.out.println(jedis.hget("key1", "user1"));
    	}
    	
    	/**
    	 * hash map操作
    	 */
    	public static void mapSet(){
    		Jedis jedis = JedisUtil.getPoolJedis();
    		Map<String,String> map=new HashMap<String,String>();
    		map.put("user1", "123");
    		map.put("user2", "456");
    		map.put("user3", "789");
    		//将一个map集合的键/值,设置到哈希表里。
    		jedis.hmset("map", map);
    	    //取出哈希表域的值,也就map的key
    		//System.out.println(jedis.hmget("map", "user3"));
    		//取出哈希表多个域的值
    		List<String> list = jedis.hmget("map", "user1","user2","user3");
    		for (String string : list) {
    			System.out.println("值:"+string);
    		}
    	}
    	
    	
    	/**
    	 * 返回哈希表key中,全部的域与值
    	 */
    	public static void getAll(){
    		Jedis jedis = JedisUtil.getPoolJedis();
    		Map<String,String> map = jedis.hgetAll("map");
    		Set<String> keySet = map.keySet();
    		Iterator<String> i = keySet.iterator();
    		while(i.hasNext()){
    			System.out.println(map.get(i.next()));
    		}
    		//jedis.del(key) key field [field ...]删除哈希表key中的一个或多个指定域。 
    		//jedis.hlen(key) key 返回哈希表key中域的数量。

    //jedis.hexists(key, field) key field查看哈希表key中,给定域field是否存在。 //jedis.hincrByFloat(key, field, increment) key field increment为哈希表key中的域field的值加上增量increment。

    //jedis.hkeys(key) key返回哈希表key中的全部域。

    //jedis.hvals(key) key返回哈希表key中的全部值。 } /** * list操作 */ public static void list(){ Jedis jedis = JedisUtil.getPoolJedis(); //设置值,是以栈的存储方式,先进后出。jedis.lpush(key, strings) strings能够是设置多个值。 jedis.lpush("list","index1"); jedis.lpush("list","index2"); jedis.lpush("list","index3"); //取值,依据開始下标与结束下标的范围取值 List<String> list = jedis.lrange("list", 0,2); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } //jedis.llen(key) key 返回列表key的长度 //jedis.lrem(key, count, value) 依据參数count的值,移除列表中与參数value相等的值 } /** * set操作 */ public static void set(){ Jedis jedis = JedisUtil.getPoolJedis(); //设置值 jedis.sadd("set", "s1","s2","s3","s4"); //移除某个元素,能够移出一个。也能够移出多个。 jedis.srem("set", "s1","s2"); //获出全部的元素 Set<String> set = jedis.smembers("set"); Iterator<String> i = set.iterator(); while(i.hasNext()) System.out.println(i.next()); }




    }

    如今能够在redistclient对数据进行取值

     打开一个命令窗体,输入命令 redis-cli 开启client,原后进行赋值

     

  • 相关阅读:
    spring3: Bean的命名与Bean的实例化
    极客软件测试52讲总结分享
    如何有效地搭建测试环境?
    用xshell 连接docker Linux服务器
    python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
    CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
    jenkins 关联 钉钉机器人
    Jenkins pipeline 语法详解
    jenkins 添加 证书凭证Credentials
    项目中使用的S2SH整合中使用的struts.xml(参考模板)
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5210526.html
Copyright © 2020-2023  润新知