Redis简介
redis支持五种数据类型:String(字符串),List(列表),Set(集合),Hash(哈希)及 zset(有序集合)。
常用命令
set,get,decr,incr,mget 等。
实现方式
String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。
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);
}