redis缓存技术学习
Redis缓存的数据写入性能

Redis缓存的数据写入性能Redis是一种高性能的开源内存数据库,被广泛应用于缓存和数据库中。
它的出色性能主要体现在数据读取方面,但对于数据写入,Redis也有一些优化策略,以提高写入性能。
本文将介绍Redis缓存的数据写入性能,并探讨如何进行性能优化。
一、Redis数据写入的性能特点Redis作为一种内存数据库,对于数据的读取具有出色的性能,读写效率高。
在写入数据时,Redis具有以下几个性能特点:1. 同步写入:Redis默认情况下是将数据同步写入磁盘的,确保数据的可靠性。
这种同步写入的机制会带来一定的延迟,对于性能要求较高的场景可能会有影响。
2. 内存写入:Redis将数据持久化存储在内存中,而不是磁盘中,使得写入速度非常快。
内存写入的特点使得Redis在数据写入方面具有较高的性能。
3. 单线程写入:Redis的写入操作是单线程的,这意味着所有的写入请求都按顺序执行,避免了多线程带来的竞争问题。
这个特点使得Redis能够保证数据的一致性,但也限制了写入性能的提升。
二、Redis数据写入性能优化策略在实际应用中,为了提高Redis的数据写入性能,可以采取以下优化策略:1. 批量写入:将多条写入请求合并成一次批量写入,减少网络传输和IO操作的次数,从而提高写入性能。
可以使用Redis的管道(Pipeline)技术来实现批量写入。
2. 异步写入:将写入请求交给后台线程异步执行,减少主线程的负载,提高响应速度。
可以使用Redis的异步写入模块或者消息队列来实现异步写入。
3. 数据压缩:对于较大的数据,可以采用压缩算法进行压缩,减少网络传输和存储的空间,提高写入性能。
可以使用Redis的压缩功能或者自定义的压缩算法。
4. 数据分片:将数据分散存储到多个Redis实例中,每个实例负责一部分数据的写入,从而提高整体的写入性能。
可以使用Redis的主从复制(Replication)或者集群(Cluster)来实现数据分片。
Redis缓存解决访问频繁的数据计算问题

Redis缓存解决访问频繁的数据计算问题随着互联网的快速发展,大数据时代已经来临。
许多应用程序面临着访问频繁的数据计算问题。
在这种情况下,使用缓存技术可以有效提升系统性能。
Redis作为一种高性能的键值存储系统,被广泛应用于解决访问频繁的数据计算问题。
本文将重点讨论如何使用Redis缓存来解决这类问题。
一、Redis缓存的基本原理Redis是一种内存数据库,它将数据存储在内存中,以实现高速的读写性能。
常见的应用场景之一就是将热点数据缓存到Redis中,以减轻数据库的访问压力。
当需要访问数据时,应用程序首先尝试从Redis缓存中获取,如果缓存中有对应的数据,则直接返回给应用程序;如果缓存中没有对应的数据,则从后端数据库中获取,同时将数据存储到Redis缓存中,以供以后使用。
二、Redis缓存的优势1. 高速读写:Redis将数据存储在内存中,避免了磁盘IO的开销,因此具有极快的读写性能。
这对于需要频繁读写的数据计算问题非常重要。
2. 数据持久化:Redis支持数据持久化,可以在服务器重启后将数据恢复到内存中。
这样即便服务器发生故障,也能保证数据的完整性。
3. 支持多种数据结构:Redis支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,使得开发人员可以根据不同的业务场景选择合适的数据结构。
三、Redis缓存的使用方法1. 确定缓存键名:在使用Redis缓存时,需要为每个缓存对象设置唯一的键名。
一般可使用业务相关的ID作为键名,如用户ID、商品ID等。
2. 设置缓存超时时间:在将数据存储到Redis缓存中时,需要设置一个适当的超时时间。
超时时间的设置应根据数据变化的频率和对数据的实时性要求来进行调整。
3. 编写缓存逻辑:在访问数据之前,首先查询Redis缓存,如果缓存中有对应的数据,则直接使用缓存中的数据;如果缓存中没有对应的数据,则从数据库中获取数据,并将数据存储到Redis缓存中。
四、Redis缓存的适用场景1. 热点数据缓存:将访问频繁的热点数据存储到Redis缓存中,可以大大提升系统的性能。
redis缓存实现原理

redis缓存实现原理Redis缓存实现原理是基于内存的键值存储系统,具有快速读写操作和持久化功能。
以下是Redis缓存的实现原理:1. 内存存储:Redis将数据存储在内存中,以实现高速读写操作。
内存存储方式使得Redis能够快速地响应请求,并处理大量并发访问。
2. 键值对存储:Redis以键值对的形式存储数据。
每个键都与一个特定的值相关联。
这种存储模型使得Redis能够将数据分组并按需访问。
3. 数据类型:Redis支持多种数据类型,包括字符串、哈希表、列表、集合和有序集合。
不同的数据类型适用于不同的应用场景,提供了灵活性和高效性。
4. 持久化:Redis提供了两种持久化方式,即RDB(Redis数据库)和AOF(Append Only File)。
RDB在指定时间间隔内将内存中的数据快照保存到硬盘上,而AOF则记录了所有对数据的修改操作,通过重放这些操作来恢复数据。
5. 缓存淘汰策略:Redis通过设置缓存的最大内存容量,当达到容量限制时会触发缓存淘汰策略。
常见的淘汰策略包括LRU(最近最少使用)、LFU(最不常使用)和随机替换等。
6. 分布式部署:Redis支持分布式部署,通过在多个节点之间共享数据进行负载均衡和高可用性。
分布式Redis使用一致性哈希算法来确定数据在哪个节点中存储,同时使用复制和故障转移机制来提高可用性。
总之,Redis缓存实现原理基于内存存储、键值对存储和多种数据类型支持。
它通过持久化、缓存淘汰策略和分布式部署等机制实现高速读写、数据可持久化和可扩展性。
Redis缓存的管道技术与批量操作

Redis缓存的管道技术与批量操作Redis是一种高性能的内存数据库,常用于缓存、存储会话信息和提供实时数据分析。
为了进一步提高Redis的性能,管道技术和批量操作成为了重要的优化手段。
一、什么是Redis缓存的管道技术Redis缓存的管道技术是指客户端将多个命令一次性发送给Redis服务器,由服务器按顺序执行这些命令,并将结果一次性返回给客户端。
这种方式减少了客户端与服务器之间的网络开销和延迟,从而提高了Redis的性能。
二、Redis缓存的管道技术的使用场景1. 批量写入/更新操作:当需要写入/更新多个键值对时,使用管道技术可以减少客户端与服务器之间的通信次数,提高写入/更新的效率。
2. 批量读取操作:当需要读取多个键值对时,使用管道技术可以将多个读取命令一次性发送给服务器,并一次性获取结果,减少网络开销和延迟。
三、Redis缓存的管道技术的优势1. 减少网络开销和延迟:使用管道技术可以将多个命令一次性发送给服务器,减少了网络往返的时间,提高了整体的响应速度。
2. 提高并发性能:由于管道技术可以一次性执行多个命令,因此在高并发的场景下,可以有效降低服务器的负载,提高系统的并发能力。
3. 简化客户端代码:使用管道技术可以将多个命令封装在一个操作中,简化了客户端操作的复杂度,提高了开发效率。
四、Redis缓存的管道技术的应用案例以下是一个批量写入操作的示例代码:```import redis# 连接Redis服务器r = redis.Redis(host='localhost', port=6379)# 创建管道对象pipe = r.pipeline()# 批量写入操作pipe.set('key1', 'value1')pipe.set('key2', 'value2')pipe.set('key3', 'value3')# 执行管道命令pipe.execute()# 关闭管道pipe.close()```以上代码使用了Redis的Python客户端库`redis`,首先创建了一个连接对象`r`,然后创建了一个管道对象`pipe`,在管道对象中依次添加了要执行的写入命令,最后使用`execute()`方法执行管道命令。
Redis缓存的数据压缩与存储优化

Redis缓存的数据压缩与存储优化在分布式系统中,缓存是一项关键技术,能够有效提升系统的性能和吞吐量。
而Redis作为一种高性能的缓存数据库,被广泛应用于各种互联网应用中。
在Redis中,数据的压缩与存储优化是提高系统性能的一个重要环节。
一、Redis中的数据压缩技术在Redis中,采用数据压缩的方式可以显著减少内存占用,并提高存储密度。
下面介绍几种常见的Redis数据压缩技术:1. 字符串压缩Redis中的字符串数据类型,通常可以利用压缩算法进行压缩。
例如,可以使用LZF算法对字符串进行压缩,有效减少存储空间。
同时,在存储数据时,也可以设置合适的编码方式,如使用int编码代替字符串编码,以达到减少存储空间的目的。
2. 压缩列表在Redis中,列表数据类型可以使用压缩列表进行存储。
压缩列表会对列表中的元素进行压缩,减少存储空间。
通过使用连续内存块存储数据,并采用特定的编码方式,可以在保证数据完整性的前提下,降低存储开销。
3. 压缩集合Redis中的集合数据类型,也可以使用压缩算法进行存储。
通过对集合中的元素进行压缩,可以减少存储空间,并提高存储效率。
二、Redis存储优化策略除了使用数据压缩技术外,还可以通过优化存储策略,进一步提高Redis的性能和存储效率。
下面介绍几种常见的Redis存储优化策略:1. 使用哈希表在Redis中,可以使用哈希表进行存储。
通过将相关的数据进行分组,可以提高数据的访问效率。
在存储大量数据时,使用哈希表可以更快地定位到具体的数据存储位置,提高系统的读写性能。
2. 冷数据淘汰对于一些很少访问的数据,可以使用冷数据淘汰策略。
通过设置合适的数据过期时间,将长时间未被访问的数据从缓存中淘汰,释放存储空间。
这样可以确保缓存中的数据都是热数据,提高系统的缓存命中率。
3. 数据分片在面对大规模数据存储时,可以考虑使用数据分片的方式进行存储。
通过将数据分散存储在多个Redis节点中,可以提高系统的存储容量和读写性能。
java redis 缓存分页实现原理

java redis 缓存分页实现原理Java Redis缓存是一种用于在Web应用程序中提高数据访问性能的技术。
它通过将常用的数据存储在内存中,以便更快地访问和获取,从而减少了对数据库的访问。
分页是Web应用程序中常见的功能之一,它允许用户在列表或表格中浏览数据,并按页查看数据,以减少数据量和提高用户体验。
Java Redis缓存的分页实现原理是,将查询的结果集划分为多个页,并将每个页的数据存储在Redis缓存中,以供后续的访问和查询。
下面将详细介绍Java Redis缓存分页的实现原理。
1.将查询结果集分页:在数据库查询之后,将结果集按照每页显示的数量划分为多个页,例如每页显示10条数据,将结果集分为若干个包含10条数据的页。
这样可以方便后续的分页访问和查询。
2.将每页的数据存储到Redis缓存中:对于每个分页的数据,将其存储到Redis缓存中。
可以使用Redis 的数据结构Hash或List来存储每页的数据。
对于Hash结构,可以使用页号作为Key,对应的数据作为Value,将所有页的数据存储到一个Hash中。
对于List结构,可以使用一个List来存储所有的分页数据,每个分页数据作为一个元素。
通过使用Redis缓存,可以提高分页的访问速度和性能。
3.使用Redis缓存进行分页查询:当用户请求分页数据时,首先从Redis缓存中获取对应页的数据。
如果缓存中存在该页的数据,则直接返回给用户;如果缓存中不存在该页的数据,则从数据库中查询该页的数据,并存储到Redis缓存中,以供后续的查询和访问。
4.缓存失效和更新:为了保证数据的实时性,需要处理缓存的失效和更新问题。
当用户修改或删除数据时,需要更新对应页的数据缓存,或者将所有缓存的数据进行失效处理,以保证数据的一致性。
可以通过监听数据的修改和删除操作,在数据库操作完成后,更新或失效对应的缓存数据。
5.缓存过期时间设置:为了控制内存使用和避免缓存数据过时,可以设置缓存数据的过期时间。
Redis缓存的数据压缩与存储优化技术探索

Redis缓存的数据压缩与存储优化技术探索在现代软件开发中,缓存是一项广泛应用的技术,旨在提高应用程序的性能和响应速度。
Redis是一种常用的缓存解决方案,它具有高性能、灵活性和可靠性的特点。
然而,随着数据量的增长,缓存的存储成本也成为了一个问题。
为了解决这个问题,我们需要探索Redis缓存的数据压缩与存储优化技术。
一、压缩算法的选择在Redis中,数据压缩是通过使用压缩算法来减少存储空间的。
常见的压缩算法有Gzip、Snappy、LZ4等。
选择合适的压缩算法需要综合考虑压缩比率、压缩速度以及解压速度等因素。
在一些场景中,如果数据的压缩和解压速度很重要,可以选用Snappy或LZ4等快速压缩算法。
而在另一些场景中,如果存储空间非常宝贵,可以选择压缩比例更高的算法,如Gzip。
需要根据具体的应用场景和需求来选择合适的压缩算法。
二、压缩级别的调整除了选择合适的压缩算法,我们还可以通过调整压缩级别来平衡压缩比和压缩速度。
一般来说,压缩级别越高,压缩比例就越高,但同时也会增加压缩和解压的时间成本。
在Redis中,常见的压缩级别有1到9。
可以根据实际需求,通过测试和评估来选择合适的压缩级别。
如果对存储空间要求较高,可以选择较高的压缩级别;如果对性能要求较高,可以选择较低的压缩级别。
三、数据类型的选择在Redis中,不同的数据类型对于数据压缩的效果有所差异。
例如,字符串类型的数据通常可以获得较好的压缩效果,而哈希类型和有序集合类型的数据则很难获得较好的压缩效果。
因此,在设计数据模型时,可以根据数据类型的特点来选择合适的压缩方案。
对于可压缩的数据类型,可以采用较为激进的压缩策略;而对于不易压缩的数据类型,则可以考虑采用较为保守的压缩策略或者直接不进行压缩。
四、数据热度的考虑在Redis中,数据的热度对于数据压缩的效果也有较大的影响。
热数据通常是指经常被访问的数据,而冷数据则是指很少被访问的数据。
对于热数据,采用较低的压缩级别可以平衡性能和存储空间;而对于冷数据,可以选择更高的压缩级别来节省存储空间。
Redis缓存实现实时数据统计和计数的良方

Redis缓存实现实时数据统计和计数的良方Redis作为一种高性能的键值对数据库,被广泛应用于各种场景中。
其中,使用Redis缓存进行实时数据统计和计数是一种非常有效的方法。
本文将介绍使用Redis实现实时数据统计和计数的良方,并探讨其中的优势和应用场景。
一、Redis缓存基本原理Redis是一种基于内存的高性能键值对数据库,它将数据存储在内存中,因此具有很低的读写延迟。
而且,Redis的数据结构非常丰富,例如字符串、哈希表、列表、集合、有序集合等。
这些数据结构为我们提供了丰富的数据操作方式。
二、实时数据统计的需求在很多应用场景中,我们需要对某些数据进行实时统计,例如网站的点击量、用户的在线人数、商品的销量等。
而且,这些统计数据通常是实时更新的,因此需要一种高效的方式来进行统计和计数。
三、使用Redis进行实时数据统计的步骤下面将介绍使用Redis进行实时数据统计的步骤:1. 定义统计字段:首先,我们需要定义要进行统计的字段,例如网站的点击量可以定义为一个字符串类型的键,用户的在线人数可以定义为一个有序集合等。
2. 更新统计数据:每当有相应的事件发生时,我们就需要更新相应的统计数据。
例如,用户访问网站时,我们可以通过Redis的命令将点击量加1,或者将用户标识添加到有序集合中。
3. 查询统计结果:当需要查询统计结果时,我们可以直接通过Redis的命令进行查询,例如获取点击量、用户在线人数等。
四、实时数据计数的需求除了实时数据统计外,实时数据计数也是一种常见的应用需求。
例如,我们需要统计某个事件发生的次数、用户操作的次数等。
使用Redis进行实时数据计数同样是非常高效和可靠的方法。
五、使用Redis进行实时数据计数的步骤下面将介绍使用Redis进行实时数据计数的步骤:1. 定义计数字段:首先,我们需要定义要进行计数的字段,例如事件发生的次数可以定义为一个字符串类型的键,用户操作次数可以定义为一个哈希表等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 什么是redisredis是一个key-value存储系统。
和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
在此基础上,redis支持各种不同方式的排序。
与memcached一样,为了保证效率,数据都是缓存在内存中。
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
2 性能怎么样Redis是一个高性能的key-value内存数据库。
官方性能测试结果:set操作每秒110000次,get操作每秒81000次。
3 可不可以存对象和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。
4 Redis与memcache的最大区别Replication(树形)data types(String、Lists、Sorted Sets、Hashes)persistence (snapshot、aof)很多开发者都认为Redis不可能比Memcached快,Memcached完全基于内存,而Redis 具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快。
但是测试结果基本是Redis占绝对优势。
一直在思考这个原因,目前想到的原因有这几方面。
Libevent。
和Memcached不同,Redis并没有选择libevent。
Libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。
Redis 用libevent中两个文件修改实现了自己的epoll event loop(4)。
业界不少开发者也建议Redis使用另外一个libevent高性能替代libev,但是作者还是坚持Redis应该小巧并去依赖的思路。
一个印象深刻的细节是编译Redis之前并不需要执行./configure。
CAS问题。
CAS是Memcached中比较方便的一种防止竞争修改资源的方法。
CAS实现需要为每个cache key设置一个隐藏的cas token,cas相当value版本号,每次set会token 需要递增,因此带来CPU和内存的双重开销,虽然这些开销很小,但是到单机10G+ cache 以及QPS上万之后这些开销就会给双方相对带来一些细微性能差别(5)。
5单台Redis的存放数据必须比物理内存小Redis的数据全部放在内存带来了高速的性能,但是也带来一些不合理之处。
比如一个中型网站有100万注册用户,如果这些资料要用Redis来存储,内存的容量必须能够容纳这100万用户。
但是业务实际情况是100万用户只有5万活跃用户,1周来访问过1次的也只有15万用户,因此全部100万用户的数据都放在内存有不合理之处,RAM需要为冷数据买单。
这跟操作系统非常相似,操作系统所有应用访问的数据都在内存,但是如果物理内存容纳不下新的数据,操作系统会智能将部分长期没有访问的数据交换到磁盘,为新的应用留出空间。
现代操作系统给应用提供的并不是物理内存,而是虚拟内存(Virtual Memory)的概念。
基于相同的考虑,Redis 2.0也增加了VM特性。
让Redis数据容量突破了物理内存的限制。
并实现了数据冷热分离。
6 Redis的VM实现是重复造轮子Redis的VM依照之前的epoll实现思路依旧是自己实现。
但是在前面操作系统的介绍提到OS也可以自动帮程序实现冷热数据分离,Redis只需要OS申请一块大内存,OS会自动将热数据放入物理内存,冷数据交换到硬盘,另外一个知名的“理解了现代操作系统(3)”的Varnish就是这样实现,也取得了非常成功的效果。
作者antirez在解释为什么要自己实现VM中提到几个原因(6)。
主要OS的VM换入换出是基于Page概念,比如OS VM1个Page是4K, 4K中只要还有一个元素即使只有1个字节被访问,这个页也不会被SWAP, 换入也同样道理,读到一个字节可能会换入4K无用的内存。
而Redis自己实现则可以达到控制换入的粒度。
另外访问操作系统SWAP内存区域时block进程,也是导致Redis要自己实现VM原因之一。
7 用get/set方式使用Redis作为一个key value存在,很多开发者自然的使用set/get方式来使用Redis,实际上这并不是最优化的使用方法。
尤其在未启用VM情况下,Redis全部数据需要放入内存,节约内存尤其重要。
假如一个key-value单元需要最小占用512字节,即使只存一个字节也占了512字节。
这时候就有一个设计模式,可以把key复用,几个key-value放入一个key中,value再作为一个set存入,这样同样512字节就会存放10-100倍的容量。
这就是为了节约内存,建议使用hashset而不是set/get的方式来使用Redis8使用aof代替snapshotRedis有两种存储方式,默认是snapshot方式,实现方法是定时将内存的快照(snapshot)持久化到硬盘,这种方法缺点是持久化之后如果出现crash则会丢失一段数据。
因此在完美主义者的推动下作者增加了aof方式。
aof即append only mode,在写入内存数据的同时将操作命令保存到日志文件,在一个并发更改上万的系统中,命令日志是一个非常庞大的数据,管理维护成本非常高,恢复重建时间会非常长,这样导致失去aof高可用性本意。
另外更重要的是Redis是一个内存数据结构模型,所有的优势都是建立在对内存复杂数据结构高效的原子操作上,这样就看出aof是一个非常不协调的部分。
其实aof目的主要是数据可靠性及高可用性,在Redis中有另外一种方法来达到目的:Replication。
由于Redis的高性能,复制基本没有延迟。
这样达到了防止单点故障及实现了高可用。
9Redis是否支持集群支持redis主从复制配置和使用都非常简单。
通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。
下面是关于redis主从复制的一些特点1.master可以有多个slave2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构3.主从复制不会阻塞master。
也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。
相反slave在初次同步数据时则会阻塞不能处理client的请求。
4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请求,比如sort操作可以使用slave来处理。
也可以用来做简单的数据冗余5.可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。
下面介绍下主从复制的过程当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。
无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。
后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。
接着master就会把缓存的命令转发给slave。
而且后续master收到的写命令都会通过开始建立的连接发送给slave。
从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。
当master和slave的连接断开时slave可以自动重新建立连接。
如果master同时收到多个slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
可以通过"make test”命令判断是否安装成功。
2. 在Linux服务器上创建一个目录,Demo,Demo存放Slave服务,在服务中的配置文件修改:view sourceprint?会发送一个SYNC请求,从Master上面进行相应,而且它支持自动重连,即当master能够接受Slave的应答,并且开始持久化操作,说明在Slave每次去连接Master的时候,运行结果:数据Set的时候,数据保存在内存中,当调用Save方法时候,将数据保存在磁盘中。
其中你会发现在3个服务目录中,都出现了dump.rdb,说明Master的文件都同步到Slave 中去了。
用UE编辑器打开文件查看:从Redis源码中,可以发现rdb文件采用的是lzf压缩算法进行实现,默认lzf压缩算法是开启的。
10安装与使用一、下载安装Wget /files/redis-2.2.7.tar.gz二、.安装部署Redis代码1.tar zxvf2.redis-2.2.7.tar.gz3.cd redis-2.2.7.tar.gz4.make可以将redis.conf 复制到 /etc/下Redis代码1.cp redis.conf /etc/2.cp src/redis-server src/redis-cli src/redis-benchmark /usr/local/redis启动redisRedis代码1./usr/local/redis/redis-server redis.confPort默认端口是6379简单的测试:存值:./redis-cli set hxaaa取值:./redis-cli get hx要配置参数的意义:∙daemonize:是否以后台daemon方式运行∙pidfile:pid文件位置∙port:监听的端口号∙timeout:请求超时时间∙loglevel:log信息级别∙logfile:log文件位置∙databases:开启数据库的数量∙save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。
在一定时间内执行一定数量的写操作时,自动保存快照。
可设置多个条件。
∙rdbcompression:是否使用压缩∙dbfilename:数据快照文件名(只是文件名,不包括目录)∙dir:数据快照的保存目录(这个是目录)∙appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。