1、Redis是什么?
是一个高性能的一个键值数据库,NoSql数据库(非关系型数据库)
2、什么是非关系型数据库?
键值的形式存储数据,结构也不固定
什么是关系型数据库?
二维表格的形式显示数据
3、两者的优缺点:
成本、
查询速度:关系型数据库,数据存储在硬盘当中,非关系型数据库,存储在缓存当中
相比较来说,nosql效率要比关系型数据库高
扩展性:关系型数据库查询数据格式相对比较固定很难扩展,Nosql,key-value形式存储
4、什么场合使用Redis
针对信息不经常变动并且数据量特别大的情况下,通常做法就是把他们加入到缓存中,每 次取数据之前,先到缓存当中去判断,缓存中是否有数据,如果有,直接拿出数据,如果 没有,请求数据库,并将数据加入缓存,大大提高系统访问效率
5、Redis所支持的数据类型
String Hash List Set zset
1、String:存储数据:set key value
获取数据:get key
删除数据:del key
查询所有的key:keys *
自增:incr key
自减:decr key
2、Hash:相当于一个key对应一个Map,Map中还有一系列的kay-value键值对
存储数据:hset key field value
获取数据:hget key field
查看某个key对应的map里的所有key:hkeys key
查看某个key对应的map里的所有value:hvals key
查看所有信息:hgetall key
3、List:存储数据:lpush list val1 val2 val3(从左边进行添加,倒过来放置)
rpush list val1 val2 val3(从右边进行添加)
获取数据:lpop list(从左边取,取完就消失)
rpop list(从右边取,取完就消失)
查看List:lrange key index index(索引值,查看部分内容)
lrange key 0 -1
4、Set:(存储无序不重复的数据,出现重复的数据覆盖)
存储数据:sadd key val1 val2 val3
获取数据:srandmember key(随机获取里面的一个数据)
查看数据:smembers key
差集:sdiff key1 key2
交集:sinter key1 key2
并集:sunion key1 key2
5、设置存储数据的有效时长 expire key 时间(秒)
剩余时长 ttl key
清除过期时间:persist key
6、redis在项目中的使用
compiler.automake.allow.when.app.running
compiler.document.save.enabled