![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Code-Redis
文章平均质量分 54
Olge
加油
展开
-
Redis 总结
文章目录核心数据结构持久化策略集群架构常见问题一些使用上的主要事项核心数据结构持久化策略集群架构常见问题一些使用上的主要事项原创 2019-11-13 17:03:02 · 133 阅读 · 0 评论 -
Redis-复制
通过持久化功能,可以保证即使redis服务重启也不会造成数据丢失,但是由于数据的存储在一台服务器上,如果磁盘出现故障,数据仍然会丢失。为了避免单点故障,我们可能会希望将数据复制到多个副本,即使有一台机器出现故障,其他服务器依然可以继续提供服务,这就要求当一台服务器上的数据更新时,可以自动将更新同步到其他服务器上,redis提供的复制功能可以自动完成这个动作。Redis支持一主多从的拓扑机构,如下图所原创 2016-11-10 16:24:55 · 283 阅读 · 0 评论 -
Redis-Redis的持久化(RDB/AOP)
由于Redis是基于内存的数据库,为了保证数据的可用性,Redis提供了两种数据持久化机制:RDB和AOP,下面对这两种持久化方式加以分析。RDB运行原理RDB模式可以在指定的时间间隔内生成内存中整个数据集的持久化快照。快照文件默认被存储在当前文件夹中,名称为dump.rdb,可以通过dir和dbfilename参数来修改默认值。1.redis调用fork函数复制当前进行的一个副本-子进程2.父进原创 2016-11-10 15:27:48 · 5698 阅读 · 1 评论 -
Redis-消息队列
消息队列,是在构建大型项目的时候 经常会用到的中间价系统,使用消息队列有很多好处,例如: 1. 实现各组件之间的松耦合。利用消息系统可以使各个组件之间面向数据,而不是面向具体的接口。 2. 易于扩展。对于消息系统而言,消费者和生产者都可以横向扩展。使用Redis实现任务队列提到队列,很自然的就会想到Redis的列表类型,可以利用列表类型的lpush和rpop命令来完成,生产者调用lpush向队列原创 2016-11-10 14:07:52 · 482 阅读 · 0 评论 -
Redis-排序
Sort命令可以对列表、集合和有序集合进行排序。命令sort list #对列表中的数据进行排序sort list alpha #按照字典顺序排序sort list desc #倒排序sort list limit index offset #截取返回的数据原创 2016-11-10 10:59:32 · 418 阅读 · 0 评论 -
Redis-Key的生存时间
在实际开发过程中,经常会遇到一些有实效性的数据,比如限时优惠、缓存、验证码等等,过了一段时间后就应该删除这些数据。如果用关系型数据库,那么就需要在表中增加一个字段存储实效时间,然后定时轮询该字段并判断删除。而在redis中,可以使用expire命令给key设置有效时间来实现这个需求。操作命令expire key seconds #设置key的有效时间 单位为秒ttl key原创 2016-11-09 21:49:29 · 10185 阅读 · 7 评论 -
Redis-事务
用一个例子来切入Redis的事务。用Redis来存储微博中的用户关系 在微博中,用户有“关注”和“被关注”两种关系,使用Redis来存储这样的数据的思路是对每个用户使用两个集合类型的键,分别为user:userid:fellows和user:userid:fellowing,用来存储关注该用户的用户集合和该用户关注的用户的集合,然后在关注的过程中执行以下操作:def fellow($current原创 2016-11-09 20:20:38 · 291 阅读 · 0 评论 -
Redis-Redis实战(有序集合)
有序集合是Redis提供的又一种数据类型。与集合相比,很明显它增加了排序功能,除了基本的 新增 删 改 差 判断是否存在等操作外,有序集合还提供了排序、获取TopN、按Range获取等操作。有序集合的底层实现与集合相同,利用散列表来实现,同时,有序集合通过给集合中的每一个元素管理一个分数来实现排序。有序集合的操作zadd key score1 member1 score2 member2.. #添加原创 2016-11-09 15:34:02 · 490 阅读 · 0 评论 -
Redis-Redis实战(集合类型)
集合类型是Redis提供了一种内置数据类型,集合与列表相反,集合中的元素没有顺序,并且每个元素都是唯一的。集合类型底层用散列表实现,性能非常好,同时,集合还支持数学意义上的操作:交集、并集、差集运算。集合类型的操作命令sadd key member1 member2... #添加元素srem key member1 member2... #移除元素smembers key原创 2016-11-09 14:31:19 · 667 阅读 · 0 评论 -
Redis-Redis实战(列表类型)
列表类型是Redis提供的又一个数据类型,它用来存储有序的字符串列表,常用的操作是向列表的两端添加元素和获取列表中的某个片段。Redis列表类型在底层是用双端队列实现,在列表两端操作元素的时间复杂度为O(1),获取越靠近两端的元素效率越高。常见的使用场景有:存储热点数据和实现队列。列表类型的操作命令lpush key value #向列表左端添加元素rpush key val原创 2016-11-09 11:28:58 · 234 阅读 · 0 评论 -
Redis-Redis实战(散列类型)
散列,是Redis提供的一种数据类型。散列类型适用于存储类型:对象:属性结构的数据,其中,类型:对象作为key,属性作为字段,值是该字段的值。例如: 需要说明的是,redis同其他所有nosql数据库一样,并不强制要求每一个对象上的属性都一样,每个对象都可以根据需求定义任务属性,在散列类型中,每个对象最多支持2^32-1个字段,这会带来很大的灵活性。散列类型的操作操作命令hset key fiel原创 2016-11-09 10:04:31 · 462 阅读 · 0 评论 -
Redis-Redis实战(字符串类型)
Redis是一个kv数据块,所以先来看一下对键的操作。Key的操作1.设置一个键并指定值127.0.0.1:6379> set bar 1OK2.查看所有的键127.0.0.1:6379> keys *1) "bar"3.判断一个key是否存在127.0.0.1:6379> exists bar(integer) 14.查看一个key的数据类型127.0.0.1:6379> type bar原创 2016-11-08 20:18:45 · 298 阅读 · 0 评论 -
Redis-Redis安装
在使用Redis之前,需要在我们的系统中安装Redis。下载Redis到redis的官方网站 下载对应系统的redis安装包 本例以最新的3.5.2版本为例,redis-3.2.5.tar.gz解压Redis安装包>tar -xvzf redis-3.2.5.tar.gz编译>cd src>make...... INSTALL redis-check-rdb CC redis原创 2016-11-08 19:29:50 · 256 阅读 · 0 评论 -
Redis-Redis简介
Redis是目前最流行的的基于内存的kv数据库之一,被各大互联网公司广泛使用,下面,就来探索一下Redis的世界。Redis的历史2008年意大利的软件公司Meriza推出一款基于MySql的网站实时统计系统,但由于MySQL性能表现不佳,其创始人Salvatore Sanfilippo决定自己开发一个更快的数据库,由Redis诞生。2010年VmWare开始资助Redis的开发,随着Redis发展原创 2016-11-08 18:29:51 · 497 阅读 · 0 评论