package shop.alien.util.redis;

import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Redis
 *
 * @author ssk
 * @version 1.0
 * @date 2020/4/17 13:42
 */
public class Redis {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        //Jedis jedis = new Jedis("127.0.0.1");
        //谷歌服务器
        Jedis jedis = new Jedis("34.80.132.13");
        //查看服务是否运行
        System.out.println("服务正在运行: " + jedis.ping());
        System.out.println("连接成功");

        //set get
        jedis.set("aaa", "1234");
        // 获取存储的数据并输出
        System.out.println("redis 存储的字符串为: " + jedis.get("aaa"));

        //del
        jedis.del("aaa");

        //++
        jedis.incr("aaa");
        System.out.println(jedis.get("aaa"));

        //--
        jedis.decr("aaa");
        System.out.println(jedis.get("aaa"));

        //map
        Map<String, String> map = new HashMap<>();
        map.put("1", "1");
        jedis.hmset("map", map);
        //get map
        jedis.hget("map", "1");
        Map<String, String> getMap = jedis.hgetAll("map");

        //list
        jedis.lpush("list", "java");
        jedis.lpush("list", "python");
        jedis.lpush("list", "php");
        //get list
        List<String> list = jedis.lrange("list", 0, 10);

        //set
        jedis.sadd("set", "java");
        jedis.sadd("set", "python");
        jedis.sadd("set", "php");
        jedis.sadd("set", "java");
        //get set
        Set<String> set = jedis.smembers("set");

        //zset
        jedis.zadd("zset",0,"java");
        jedis.zadd("zset",0,"python");
        jedis.zadd("zset",0,"php");
        jedis.zadd("zset",1,"java");
        //get zset
        Set<String> zset=jedis.zrangeByScore("zset","0","10");

        //检查键值是否存在
        boolean exists=jedis.exists("aaa");

        //键值过期时间(秒,时间戳,毫秒,时间戳毫秒,设为永久,剩余时间秒,剩余时间毫秒)
        jedis.expire("aaa",60);
        jedis.expireAt("aaa",1234321);
        jedis.pexpire("aaa",600000);
        jedis.pexpireAt("aaa",123443213);
        jedis.persist("aaa");
        jedis.pttl("aaa");
        jedis.ttl("aaa");

        jedis.keys("list");
        jedis.move("aaa",1);

        jedis.randomKey();
    }
}
