最近由于项目原因,经常用到redis,处于redis小白的我,来聊一聊什么是redis,有什么作用?
一、什么是redis?
redis是一个以key-value 形式存储的,直接操作系统内存的,亦可持久化的,可用于分布式系统的非关系型数据库(NOSQL数据库)。redis由ANSIC语言编写的,且支持多种语言的API,遵循CAP(一致性、可用性、分区容错性)原理。
二、redis支持的五种数据类型
redis支持String、list、Set 、zset、Hash、五种数据类型。
String 类型的字符串
存储方式:set(key,value)
可用于存储任何数据,包括图片或可序列化的对象。是redis最基本的数据类型,一个key最大可存储512M.
Hash类型
存储方式:hmset(key,Map<key,value>)
可存储一个键值对集合,即一张映射表。hash特别适合存对象。
List(列表)
redis列表是最简单的字符串列表,按照插入顺序排序。可将插入元素放到列表的头部或尾部。
存储方式:
lpush(key,value) 在列表左侧(头部)添加元素
rpush(key,value) 在列表右侧(尾部)添加元素
llen(key) 返回key所对应列表的长度
lrange(key,long start,long end) 返回指定范围内的元素列表
lindex(key, long index) 返回列表中指定位置的元素
lpop(key) 从头部取列表中的第一个元素
rpop(key) 从尾部取列表中的第一个元素
rpoplpush(key1,key2) 将key2对应的列表追加到key1对应的列表
set(无序集合)
存储方式:sadd(key,value......) 添加多个成员
smembers(key) 获取所有成员
srem(key, final String members) 删除指定成员
spop(final String key) 删除所有成员
zset(有序集合)
存储方式:zadd(key ,score,value)
zset之所以有序,是因为每个元素都会关联一个double类型的分数,redis正是通过分数进行成员从小到大的排序。
zset的成员是唯一的,但分数却可以重复。
三、redis的作用
1、redis可作为缓存使用,因其直接操作系统内存,所以存取速度快,特别适合作为数据缓存,并运用于分布式场景。
2、redis的持久化,可防止数据因服务宕机导致的内存数据丢失问题。
今天就先到这里啦,待续。。。