作业三

作业三
redis是一个高性能的数据库,我们在项目中用它来完成对用户订单信息的增删改查。
它有四个优势:性能极高性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s ;丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作;原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行;丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
其中被我青睐的即它的原子特性。要知道在编写代码时难免会出现错误,但redis的原子性保证了它如果无错,即成功执行,如果有错,便完全不执行。
我们若想在IDEA中使用redis,需要先添加redis的依赖。在这里插入图片描述
然后在application.properties中配置。作业三_第1张图片
在redis的包下首先创建接口KeyPrefix,并在里面编写空的两个方法,分别为expireSeconds()、getPrefix()。然后创建class命名为BasePrefix,使它implements接口KeyPrefix,重写expireSeconds()、getPrefix(),并添加了新的方法。第三步创建class命名为RedisConfig,创建要使用的变量:host、port、timeout、password、poolMaxTotal、poolMaxIdle、poolMaxWait,并一键创建它们的get、set方法。第四部创建class为UserKey,extends于BasePrefix并创建geyById、getByName。第六步分别创建class为MiaoshaUserKey、OrderKey,extends于BasePrefix。最后创建RedisService,在这里面我们使用了redis里相关内容,JedisPool的jedisPool。在这里插入图片描述
在RedisService中,我们编写get(KeyPrefix prefix, String key, Class clazz){}方法来获取单个对象。set(KeyPrefix prefix, String key, T value){}用来设置对象。exists(KeyPrefix prefix, String key)判断我们的key是否存在。并在最后分别用incr(KeyPrefix prefix, String key)和decr(KeyPrefix prefix, String key)来增值、减值。

你可能感兴趣的:(作业三)