Redis入门
内容纲要
Redis介绍
Redis是Key-Value型NoSQL(Not Only SQL)数据库---可看做超大的map对象
Redis将数据存储在内存中、同时也能持久化到磁盘
Redis常用与缓存,利用内存的高效提高程序的处理速度
Redis特点
速度快
广泛的语言支持
持久化
多种数据结构
主从复制
分布式与高可用--分布式:放置多台服务器,通过地域就近选择服务器 高可用:随时打开随时可用
Redis的常用基本配置
Redis同用命令
Redis数据类型
String - 字符串类型
Hash - Hash类型
List - 列表类型(数组)
Set - 集合类型
Zset - 有序集合类型
String 字符串类型
字符串命令
Hash键值类型
Hash类型用于存储结构化数据
Hash 命令
List列表类型
List列表就是一系列字符串的"数组”,按插入顺序排序
List列表最大长度为2的32次方-1,可以包含40亿个元素
List命令
rpush listkey c b a -右侧插入
lpush listkey f e d -左侧插入
rpop listkey - 右侧弹出
lpop listkey - 左侧弹出
Set与Zset集合类型
Set集合是字符串的无序集合,集合成员是唯一的
Zset集合是字符串的有序集合,集合成员是唯一的
Java客户端-Jedis
Jedis是Java语言开发的Redis客户端工具包
Jedis只是对Redis命令的封装,掌握Redis命令便可轻易.上手
Jedis进行数据缓存
放入到Jedis数据库中
public CacheSample(){
Jedis jedis = new Jedis("47.114.2.235");
try {
List<Goods> goodsList = new ArrayList<Goods>();
goodsList.add(new Goods(8818, "红富士苹果", "", 3.5f));
goodsList.add(new Goods(8819, "进口脐橙", "", 5f));
goodsList.add(new Goods(8820, "进口香蕉", "", 25f));
jedis.auth("926425");
jedis.select(3);
for (Goods goods : goodsList) {
String json = JSON.toJSONString(goods);
System.out.println(json);
String key = "goods:" + goods.getGoodsId();
jedis.set(key , json);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
jedis.close();
}
}
从Jedis中检索数据
public static void main(String[] args) {
new CacheSample();
System.out.printf("请输入要查询的商品编号:");
String goodsId = new Scanner(System.in).next();
Jedis jedis = new Jedis("47.114.2.235");
try{
jedis.auth("926425");
jedis.select(3);
String key = "goods:" + goodsId;
if(jedis.exists(key)){
String json = jedis.get(key);
System.out.println(json);
Goods g = JSON.parseObject(json, Goods.class);
System.out.println(g.getGoodsName());
System.out.println(g.getPrice());
}else{
System.out.println("您输入的商品编号不存在,请重新输入!");
}
}catch(Exception e){
e.printStackTrace();
}finally {
jedis.close();
}
}
共有 0 条评论