redis 是一个开源的key-value数据库,现在redis是主流的缓存框架支持分布式,事物,多种数据类型,主从备份,以及数据持久化,面试的时候经常会被问及redis的优点,总结如下:
- redis不仅支持简单的k-v数据类型,同时还支持list,set,sorted set,hash等数据结构
- redis支持数据备份,即master-slave(主-从)模式的备份数据
- redis支持数据持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载使用。
redis五种数据类型分别也有不同的使用场景,自己总结的如下:
- string
string是redis的最基本类型,类似于Java中的map类型,平常项目中用到的都是读取一些配置信息 - list
redis的list类型其实就是一个每个子元素都是string类型的双向链表,那么list就可以用来存放一组信息,比如某一类商品,或者博客中某一个人关注等,当然也可以用作队列,实现订阅发布,但是项目中一般不会这么用。 - set
redis的set类型是string类型的无序集合,别切是去重的,set的最大可以包含(2³²-1)个元素。可以用来计数。 - sorted set
可以简单的理解为有序的set,一般用来做排行榜 - hash
hash,我的理解就是存放一个对象,可以获取这个对象的各个的属性的值,也可以修改,但是项目中一般用不到。
windows 的redis可以直接百度搜索下载,解压后可以直接启动
redis-server.exe执行,如下则表示启动成功
新建Java maven项目,在maven仓库搜索jedis(Java用来操作redis的jar包)
pom文件引入jedis
新建带main方法的Demo,连接redis,操作redis
如图可以直接用jedis获取key的值,也可以启动redis-cli.exe通过redis命令操作redis
以上就是简单的redis操作在Java中实现,由于一般都是在windows环境中写代码,所以就装了个windows的redis,方便学习吧,效果基本都是一样的。