redis学习笔记

redis和memcached的区别?redis

二者均可以存储键值映射,彼此的性能也相差无几;可是redis可以自动以两种不一样的方式将数据写入硬盘,而且redis除了能存储普通字符串以外,还能够存储其它的四种结构(散列,列表,集合,有序集合),而memcached只能存储普通的字符串键。 redis 是使用内存存储的非关系型数据库,有五种数据结构:字符串,散列,列表,集合,有序集合;每种数据类型都有本身的专属命令,另外还有批量的操做和不彻底的事务支持;发布和订阅,主从复制,持久化,脚本(存储过程) memcached是使用内存存储的键值缓存。键值之间的映射。建立命令,读取命令,更新命令,删除命令,以及其余几个命令;为提高性能而设的多线程服务器。数据库

redis持久化: 第一种持久化快照:指定时间段内有指定数量的写操做时,经过调用两条转存储的到硬盘的命令来执行其中的任何一条; 第二种持久化aof:将全部修改数据库的命令都写入一个只追加的文件里面,用户能够根据数据数量的重要程度,将只追加设置为:不一样步,每秒同步一次或者每写入一个命令就同步一次;缓存

一、字符串 String 能够是整数、字符串或浮点数 对整个字符串或字符串的其中一部分执行操做;对整数和浮点数执行自增或者自减操做(对字符串存储的数值执行自增或自减的操做); GET SET DEL服务器

二、散列 Hash 包含键值对的无序散列列表 添加、获取、移除单个键值对;获取全部键值对 注意:存储的值既能够是字符串,也能够是数字值,而且用户一样能够对散列存储的数字值执行自增操做或者自减操做。 HSET HGET, HDEL, HGETALL(获取全部的元素)数据结构

三、列表 List 一个链表,链表上的每一个数据节点包含了一个字符串 ; 从链表的两段推入或者弹出元素;RPUSH(插入),LPOP(删除) 根据偏移量对链表进行修剪; 读取单个或者多个元素;LINDEX(查找指定位置的单个元素),LRANDE(获取列表上给定范围的值) 根据值查找或者拔除元素多线程

四、集合 set 包含字符串的无序收集器,而且被包含的每一个字符串都是独一无二,各不相同的; 添加、获取、移除单个元素;SADD(将给定元素添加到集合),SMEMBERS(返回集合包含的全部元素),SREM(若是元素存在,就移除这个元素) 检查一个元素是否存在于集合中;SISMEMBER 计算交集、差集、并集;SINTER(交集),SUNION(并集),SDIFF(差集) 从集合中随机获取元素memcached

五、有序集合 zset 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值的大小决定 添加、获取、移除单个元素;根据分值范围或者成员来获取元素 ZADD(将一个带有给定分值的成员添加到有序集合里面) ZRANGE(根据元素在有序排列中所处的位置,从有序集合里面获取多个元素) ZRANGEBYSCORE(获取有序集合在给定分值范围内的全部元素) ZREM(若是给定成员存在于有序集合,那么移除这个成员)性能

发布和订阅 订阅者负责订阅频道,发送者负责向频道发送二进制字符串消息;每当有消息被发送至频道时,频道的全部订阅者都会看到消息;线程

相关文章
相关标签/搜索