1. 程式人生 > >Redis 5種資料型別——string字串

Redis 5種資料型別——string字串

Redis支援五種資料型別:String(字串),Hash(雜湊),List(列表),Set(集合)及zset(sorted set:有序集合)。

String型別的資料(作為快取使用)
    1.插入和讀取一條string型別的資料
        redis notrue-centos:6379> set  sessionid-0001  "zhangsan"
        OK
        redis notrue-centos:6379> get  sessionid-0001
        "zhangsan"
    2.對string型別資料進行增減(前提是這條資料的value可以看成數字)
        DECR key
        INCR key

        DECRBY key decrement(減少量,如 2)
        INCRBY key increment(增加量,如 2)
    3.批量插入、批量獲取多條資料
        MSET  k1  v1  k2  v2  …
        MGET  k1  k2

    4.在插入一條string型別資料的同時為它指定一個存活期限
        setex  k1  10  v1
        釋:設定k1這條資料就只會存活10秒鐘,過期會被redis自動清除

    應用:將一個自定義的物件比如product存入redis
    實現方式二:將物件轉成json字串來存取 (簡單明瞭,推薦)
        /**
        * 將物件轉成json字串後快取到redis的string結構資料中
        */
        @Test
        public void testObjectToJsonCache(){
            //jedis連線並操作redis
            Jedis jedis = new Jedis("127.0.0.1", 6379);

            ProductInfo  p = new  ProductInfo();
            p.setName("ABC");
            p.setDescription("劉亦菲專用");
            p.setCatelog("夜用型");
            p.setPrice(10.8);

            //利用google的gson將物件轉成json串
            Gson  gson = new  Gson();
            String  pJson = gson.toJson(p);

            //將json串存入redis
            jedis.set("prodcut:02", pJson);

            //從redis中取出物件的json串
            String  pJsonResp = jedis.get("prodcut:02");

            //將返回的json解析成物件
            ProductInfo  pResponse = gson.fromJson(pJsonResp, ProductInfo.class);

            //顯示物件的屬性
            System.out.println(pResponse);
        }