Redis configuration file detailed explanation and introductory tutorial

Redis4.0.8 configuration file detailed explanation:
https://blog.csdn.net/zhoushimiao1990/article/details/98629046

Redis introductory tutorial:
https://blog.csdn.net/liqingtx/article/details/60330555


jedis simple test:

package com.layman.redis;

import org.junit.After;
import org.junit.Test;
import redis.clients.jedis.Jedis;

import java.util.*;

/**
 * @author layman
 * @description: redis简单测试类
 * @date 2021/2/4
 */
public class RedisTest {
    
    
    private static Jedis jedis = new Jedis("127.0.0.1",6379);
    private static byte[] bt = "关系型数据库".getBytes();
    private static byte[] mysqlByte = "MySQL数据库".getBytes();
    private static byte[] bestByte = "是最好用的数据库".getBytes();
    @After
    public void close(){
    
    
        //归还至连接池
        jedis.close();
    }
    /**
     * redis是一款高性能的NOSQL系列的非关系型数据库
     * redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构
     * value的数据结构:
             1) 字符串类型 string
             2) 哈希类型 hash : map<String><String> 格式或者byte[]数组格式
             3) 列表类型 list : LinkedList格式,支持重复元素(链表)
             4) 集合类型 set  : 不允许重复元素
             5) 有序集合类型 SortedSet:不允许重复元素,且元素有顺序
     */
    public static void main(String[] args) {
    
    
        jedis.del("name","username","age");
    }
    /**
     * 设置字符串类型数据
     */
    @Test
    public void putString(){
    
    
        jedis.set("name","菠菜饭团");
        jedis.set("username","饭团");
        jedis.set("age","18");
    }
    /**
     * 获取字符串类型数据
     */
    @Test
    public void getString(){
    
    
        String name = jedis.get("name");
        String username = jedis.get("username");
        String age = jedis.get("age");
        System.out.println(name+":"+username+":"+age);
    }
    /**
     * 设置hash数据
     */
    @Test
    public void setHash(){
    
    
        //演示添加map数据,只能为<String,String>格式
        Map<String,String> map= new HashMap<>();
        //map key不允许重复,后添加的数据会覆盖之前的数据
        map.put("address","中国江苏");
        map.put("email","[email protected]");
        map.put("phone","66778899");
        //最终显示 123456
        map.put("phone","123456"); 
        jedis.hset("myHash",map);
        jedis.hset("myHash","lastName","goodman");
        //演示添加byte[]数据
        Map<byte[],byte[]> byteMap= new HashMap<>();
        byteMap.put(mysqlByte,bestByte);
        jedis.hset(bt,byteMap);
    }
    /**
     * 获取hash数据
     */
    @Test
    public void getHash(){
    
    
        String email = jedis.hget("myHash", "email");
        String lastName = jedis.hget("myHash", "lastName");
        byte[] bytes = jedis.hget(bt, mysqlByte);
        System.out.println(email);
        System.out.println(lastName);
        System.out.println(new String(bytes));
    }
    /**
     * 设置list数据:允许重复
     */
    @Test
    public void setList(){
    
    
        //从左边添加
        jedis.lpush("myList","first","second","three");
        //从右边添加
        jedis.rpush("myList","first","second","three");
        //此时数据顺序为:"three","second","first", "first","second","three"
    }
    /**
     * 获取list数据
     */
    @Test
    public void getList(){
    
    
        List<String> myList = jedis.lrange("myList", 0, -1);
        System.out.println(myList); //[three, second, first, first, second, three]
        //删除弹出列表最左边的元素,并将其返回
        String l_data = jedis.lpop("myList");
        System.out.println(l_data); //three
        String r_data = jedis.rpop("myList");
        System.out.println(r_data);
    }
    /**
     * 存储sortedSet:不允许重复,且有序
     */
    @Test
    public void setSortedSet(){
    
    
        jedis.zadd("mySortedSet",20D,"芹菜饭团");
        Map<String,Double> sortedSetMap = new HashMap<>();
        sortedSetMap.put("花菜饭团",60D);
        sortedSetMap.put("紫菜饭团",55D);
        sortedSetMap.put("雪菜饭团",99D);
        jedis.zadd("mySortedSet",sortedSetMap);
    }
    @Test
    public void getSortedSet(){
    
    
        Set<String> set = jedis.zrange("mySortedSet", 0, -1);
        System.out.println(set);
        //从sortedSet中删除指定的值
        jedis.zrem("mySortedSet", "花菜饭团");
    }
    @Test
    public void deleteKey(){
    
    
        //删除整个key
        jedis.del("username");
        //删除key中的某个属性
        jedis.hdel("myHash","lastName");
        jedis.del(bt);
    }
}

Guess you like

Origin blog.csdn.net/single_0910/article/details/111803825