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();
    }
}
THE END
分享
二维码
< <上一篇
下一篇>>