Redis的简介
一. Redis是什么
Redis是一个开源的,高性能的key-value,非关系型数据库。
二. Redis的特点
(1) 基于内存(可以减少io操作,降低系统性能的损耗)
(2) 可持久化数据
(3) 具有丰富的数据结构类型(如:String类型,list类型,hash类型,set类型,sortedset类型)(主要是针对于key-value中的value)
(4) 支持集群,高效稳定
三. Redis的数据类型
Redis的数据类型为键值对。其中key可以为任何二进制序列。
对于key-value中的value的值类型,要做如下划分:
(一) string类型
1. 常见的相关命令为:set key value setnx key value get key mget key1 key2 incr key incrby key increment decr key decrby key decrement append key value
2.应用场景:统计功能,如微博点赞
(二)list类型
1. 常见的相关命令为:lpush key value [value ...] rpush key value [value ...] llen key lindex key index lrange key start stop
lpop key rpop key
2.应用场景:因为list是有序的,可以重复出现,一般用于排名功能
(三)hash类型
1. 常见的相关命令为:hset key field value hget key field hmget key filed1....fieldN hmset key filed1 value1 ... filedN valueN
hexists key field hdel key field hlen key hkeys key hvals key hgetall
2.应用场景:hash为key-hash组成,其中hash为filed-value。Redis每创建一个键,都会为存储这个键的信息而耗费资源。而hash结构可以将一组key-value存储到一个hash中,从而减少key的数量。但hash结构不能对某一个filed设置过期功能。
(四) set类型
1. 常见的相关命令为:sadd key member [member ...](无序不重复) smembers key spop key scard key 交集、并集、差集sinter、 sunion 、sdiff
2.应用场景:set是无序,且不可重复。可以利用交、并、补集,来完成微博的共同关注。
(五) sortedset类型
1.应用场景:sortedset为有序且唯一。适用于歌曲排行榜。
四. Redis的作用
1.Redis的本质是数据库,用来存数据,由于是基于内存的,可以灵活的处理io操作,弥补mysql,Oracle等关系型数据库的不足。
2.可以缓存数据。不用每次都去硬盘读取数据。