首页 > 其他分享 >884~885 Jedis操作hash ,list

884~885 Jedis操作hash ,list

时间:2023-02-25 09:23:08浏览次数:34  
标签:127.0 hash 885 884 0.1 6379 jedis key mylist

3. 哈希类型 hash

  1. 存储: hset key field value

    127.0.0.1:6379> hset myhash username lisi

    (integer) 1

    127.0.0.1:6379> hset myhash password 123

    (integer) 1

  2. 获取:

    hget key field: 获取指定的field对应的值

    127.0.0.1:6379> hget myhash username

    "lisi"

    hgetall key:获取所有的field和value

    127.0.0.1:6379> hgetall myhash

    1) "username"

    2) "lisi"

    3) "password"

    4) "123"

  3. 删除: hdel key field

    127.0.0.1:6379> hdel myhash username

    (integer) 1

4. 列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边)

  1. 添加:

    1. lpush key value: 将元素加入列表左表

    2. rpush key value:将元素加入列表右边

      127.0.0.1:6379> lpush myList a

      (integer) 1

      127.0.0.1:6379> lpush myList b

      (integer) 2

      127.0.0.1:6379> rpush myList c

      (integer) 3

  2. 获取:

    lrange key start end :范围获取

    127.0.0.1:6379> lrange myList 0 -1

    1) "b"

    2) "a"

    3) "c"

  3. 删除:

    lpop key: 删除列表最左边的元素,并将元素返回

    rpop key: 删除列表最右边的元素,并将元素返

  /**
     * hash 数据结构操作
     */
    @Test
    public void test3(){
        //1. 获取连接
        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
        //2. 操作
        // 存储hash
        jedis.hset("user","name","lisi");
        jedis.hset("user","age","23");
        jedis.hset("user","gender","female");
        // 获取hash
        String name = jedis.hget("user", "name");
        System.out.println(name);
        // 获取hash的所有map中的数据
        Map<String, String> user = jedis.hgetAll("user");
        // keyset
        Set<String> keySet = user.keySet();
        for (String key : keySet) {
            //获取value
            String value = user.get(key);
            System.out.println(key + ":" + value);
        }
        //3. 关闭连接
        jedis.close();
    }
    /**
     * list 数据结构操作
     */
    @Test
    public void test4(){
        //1. 获取连接
        Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
        //2. 操作
        // list 存储
        jedis.lpush("mylist","a","b","c");//从左边存
        jedis.rpush("mylist","a","b","c");//从右边存
        // list 范围获取
        List<String> mylist = jedis.lrange("mylist", 0, -1);
        System.out.println(mylist);
        // list 弹出
        String element1 = jedis.lpop("mylist");//c
        System.out.println(element1);
        String element2 = jedis.rpop("mylist");//c
        System.out.println(element2);
        // list 范围获取
        List<String> mylist2 = jedis.lrange("mylist", 0, -1);
        System.out.println(mylist2);
        //3. 关闭连接
        jedis.close();
    }

 

标签:127.0,hash,885,884,0.1,6379,jedis,key,mylist
From: https://www.cnblogs.com/agzq/p/17153755.html

相关文章

  • redis_数据结构介绍与redis_命令操作_string&hash
    redis_数据结构介绍1.redis的数据结构redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构......
  • java HashSet集合存储学生对象并遍历
         ......
  • 【HashMap】HashMap多线程下的死循环问题及JDK8版本的修复
    背景想要记录一下关于jdk下的hashmap存在的一些问题:1、许多同学都知道JDK下的HashMap是线程不安全的,但究竟是怎样个不安全法,在多线程下会出现怎样的问题?其中原因是......
  • redis数据类型-hash类型
    一个string类型的key-value映射表常用场景购物车用户个人信息商品详情常用命令hsetkeyfieldvalue设置hash的值hgetkeyfield获取值hgetallkey获......
  • LeetCode 49. 字母异位词分组(/hash)
    原题解题目约束题解解法一classSolution{public:vector<vector<string>>groupAnagrams(vector<string>&strs){unordered_map<string,vect......
  • HashSet类
    Set接口的特点是无序和不重复上图就是无序的体现,HashSet底层数据结构是数组+链表,虽然数组有索引,但是数据并不是按索引来存放而是先通过Hash算法来给出各个数据存放的位......
  • redis-命令操作-String&hash,list,set&sortedset,通用命令
    redis-命令操作-String&hashString类型存储:setkeyvalue获取:getkey删除:delkey  Hash类型存储:hsetkeyfieldvalue获取:hgetkeyfiled:获取指定的field对应......
  • [Sdoi2013] [bzoj 3198] spring (hash+容斥原理)
    题目描述给出个维坐标,求有多少对点对满足恰好个位置相等坐标数值在以内题目分析这道题一看就是hash容斥原理,用个位置对应相等个位置对应相等个位置对应相等的…但是不能......
  • Map实现类之二:LinkedHashMap
    LinkedHashMap是HashMap的子类在HashMap存储结构的基础上,使用了一对双向链表来记录添加元素的顺序与LinkedHashSet类似,LinkedHashMap可以维护Map的迭代顺序:迭代顺......
  • Map实现类之一:HashMap
    HashMap是Map接口使用频率最高的实现类。允许使用null键和null值,与HashSet一样,不保证映射的顺序。所有的key构成的集合是Set:无序的、不可重复的。所以,key所在的类要重......