1.Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、
Key-Value数据库,并提供多种语言的API。
2.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和
有序集合(sorted sets)等类型。
3.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
4.优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
5.redis支持Redis支持五种数据类型:
string(字符串) SET runoob “菜鸟教程” GET runoob,
hash(哈希)hash 就是key=value的集合 HMSET runoob field1 “Hello” field2 “World” HGET runoob field1,
list(列表)lpush runoob redis lrange runoob 0 10,
set(集合)sadd runoob redis smembers runoob,
zset(sorted set:有序集合) zadd runoob 0 redis ZRANGEBYSCORE runoob 0 1000。
6.通常都有直接获取单个值,多个值,获取key,获取哈希表中key的数量
7.redis HyperLogLog命令(是用来做基数统计的算法)去重功能
PFADD key element [element …]添加指定元素到 HyperLogLog 中。
PFCOUNT key [key …]返回给定 HyperLogLog 的基数估算值。
8.redis事务
由multi开始,到exec结束
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。