redis
文章平均质量分 73
golden_lion
这个作者很懒,什么都没留下…
展开
-
Redis命令操作详解
一、key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *、?、[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 (4)exists key:判断某个key是否存在 (5)del key:删除key (6)rename key newkey:改名转载 2017-03-23 15:19:40 · 993 阅读 · 0 评论 -
对redis数据持久化的一些想法
数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。先介绍下这两种dump方式再讲讲自己遇到的一些现象和想法,前面的内容是从网上整理出来的。转载 2016-06-21 18:02:04 · 306 阅读 · 0 评论 -
Redis学习笔记9--Redis持久化
redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。下面分别介绍之。(一)Snapshotting 快照是默认的持久化方式。这种方转载 2016-06-21 17:57:33 · 221 阅读 · 0 评论 -
redis 数据持久化
1、快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。数据保存的目录: 工作原理Redis forks.子进程开始将数据写到临时RDB文件中转载 2016-06-21 17:43:54 · 331 阅读 · 0 评论 -
redis启用持久化
redis的持久化有rdb和aof两种。 rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。 aof可以实现每次操作都持久化。 这里我们使用aof。 配置方式,打开redis的配置文件。找到appendonly。默认是appendonly no。改成appendonly yes。 再找到appendfsync 默认是: Java转载 2016-06-21 17:42:41 · 249 阅读 · 0 评论 -
Redis持久化-数据丢失及解决【转载|linux】
转载地址:http://blog.csdn.net/xiangliangyu2008/article/deta... Redis的数据回写机制Redis的数据回写机制分同步和异步两种,同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。异步回写即BGSAVE命令,主进程fork后,复制自身并通过这个新的进程回转载 2016-06-21 17:41:34 · 3495 阅读 · 0 评论 -
NOSQL资料
http://www.cnblogs.com/langtianya/category/721903.html原创 2016-07-23 13:22:23 · 356 阅读 · 0 评论 -
谈谈Memcached与Redis
1. Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数 据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了l转载 2016-07-23 13:20:07 · 617 阅读 · 0 评论 -
Redis介绍以及安装(Linux与windows)
1、liunux系统 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的 不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add /remove及取交集并集和差集及更丰富的操作。在此基础上,redi转载 2016-07-23 13:19:19 · 1299 阅读 · 0 评论 -
关于redis分布式锁的使用
背景:比如我有100张点卡,有两台服务器同时进行卖这个点卡,但是今天我就想卖10张,超出10张我就不卖了,在多线程的额情况下很容易出现卖出了11张甚至更多,这也是超卖的问题,从实现来说也可能出现两个人获取到的是同一张点卡,那么也是不可取的 出于一个涉世未深,对那些高大上的东西充满好奇的我希望可以使用自己没用过的东西来解决上面的问题,所以我选择了使用分布式锁来解决分布式情况下超卖的问题转载 2016-06-07 09:48:28 · 3738 阅读 · 1 评论 -
初学Redis(1)——认识Redis
Redis官网对Redis的定义是:“Redis is an open source, BSD licensed, advanced key-value cache and store”,可以看出,Redis是一种键值系统,可以用来缓存或存储数据。Redis是“Remote Dictionary Server”(远程字典服务)的缩写,提供了字符串(string),列表(list),哈希(hash)转载 2016-06-22 11:53:31 · 479 阅读 · 0 评论 -
初学Redis(2)——用Redis作为Mysql数据库的缓存
用Redis作MySQL数据库缓存,必须解决2个问题。首先,应该确定用何种数据结构存储来自Mysql的数据;在确定数据结构之后,还要考虑用什么标识作为该数据结构的键。 直观上看,Mysql中的数据都是按表存储的;更微观地看,这些表都是按行存储的。每执行一次select查询,Mysql都会返回一个结果集,这个结果集由若干行组成。所以,一个自然而然的想法就是在Redis中找到一种转载 2016-06-22 11:54:25 · 569 阅读 · 0 评论 -
初学Redis(3)——用Redis作为Mysql数据库的缓存
把MySQL结果集缓存到Redis的字符串或哈希结构中以后,我们面临一个新的问题,即如何为这些字符串或哈希命名,也就是如何确定它们的键。因为这些数据结构所对应的行都属于某个结果集,假如可以找到一种唯一标识结果集的方法,那么只需为这些数据结构分配一个唯一的序号,然后把结果集标识符与该序号结合起来,就能唯一标识一个数据结构了。于是,为字符串和哈希命名的问题就转化为确定结果集标识符的问题。转载 2016-06-22 11:55:15 · 2718 阅读 · 0 评论 -
Redis的安装和部署
基本知识1、Redis的数据类型: 字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)2、Redis和memcache相比的独特之处: (1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能 (2)存储的数据有“结构”,对于memcache来说,存储转载 2017-03-23 15:10:11 · 438 阅读 · 0 评论 -
redis配置认证密码
redis配置密码1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到[plain] view plain copy#requirepass foobared 去掉行前的注释,并修改密码为所需的密码,保存文件[plain] view plain c转载 2017-03-06 10:35:31 · 377 阅读 · 0 评论 -
redis中密码设置
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。 1、初始化Redis密码: 在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数; 比如 requirepass test123; (Ps:需重启Redis才能生效) redis的查询速度是转载 2017-03-06 10:34:38 · 1225 阅读 · 0 评论 -
汇总使用Redis应该注意数据安全
目录结构一、Redis宕机后的数据丢失问题Redis会定期将内存中的数据同步到磁盘,这是我们大家都知道。而且是写数据越频繁同步的也就越频繁,这是在Redis配置文件中可配置的。一般来说,宕机后可能丢失小量数据是在所难免的。可如果宕机后重启发现丢失大量数据这就不正常了,查了些资料,受益非浅。Redis的数据回写机制分同步和异步两种:1、同步回写即S转载 2017-03-01 09:18:41 · 694 阅读 · 0 评论 -
redis 安全漏洞导致服务器被攻击
近日发现redis数据无故被清,恢复后连续几次还是被清,由于经验不足,一直认为是自己配置有误。经过多天查找,才发现2015年11月份爆发了redis安全漏洞攻击事件,一一印证了下,全部中招。特点:1.redis缓存被清0;而且每天会执行一次;2./root/.ssh/ 下多了几个文件。dump.rdb, foo.txt, authorized_keys里多了莫名转载 2017-03-01 09:16:13 · 3888 阅读 · 0 评论 -
redis 安全
原文:http://redis.io/topics/security 1. Redis的安全模式 可信环境下的可信用户才可访问redis。这意味着,将redis服务器直接暴露在Internet或者不可信用户可直接访问Redis的tcp端口或Unix套接字的环境,是不安全的。使用redis的web应用程序的常用场景是将redis作为数据库,缓存,消转载 2017-03-01 08:59:05 · 329 阅读 · 0 评论 -
从Mysql将数据快速导入到redis中
场景是从MySQL中将数据导入到Redis的Hash结构中。当然,最直接的做法就是遍历MySQL数据,一条一条写入到Redis中。这样可能没什么错,但是速度会非常慢。而如果能够使MySQL的查询输出数据直接能够与Redis命令行的输入数据协议相吻合,可能就省事多了。根据测试800w的数据迁移,时间从90分钟缩短到2分钟。具体案例如下:MySQL数据表结构:CREATE TA转载 2016-06-22 11:57:36 · 5959 阅读 · 1 评论 -
将MySQL数据迁移到Redis
做开发的同学都知道,一旦设计到底层存储优化,数据结构甚至数据库的变更,通常都会进行数据迁移的工作。如果系统运行时间过长,数据迁移的数量可能非常庞大。这时候,如何进行高效的数据迁移,实际也是上线质量的直接影响因素之一。下面内容是转载的一个小技巧,无法适用于各种变化的场景,仅供大家参考。场景是从MySQL中将数据导入到Redis的Hash结构中。当然,最直接的做法就是遍历MySQL数据转载 2016-06-22 11:56:46 · 3021 阅读 · 0 评论 -
初学Redis(4)——简单实现Redis缓存中的排序功能
在实现缓存排序功能之前,必须先明白这一功能的合理性。不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发的应用;其次,在缓存中排序不会遇到表锁定的问题。Redis恰好提供了排序功能,使我们可以方便地实现缓存排序。 Redis中用于实现排序功能的是SORT命令。该命令提供了多种参数,可以转载 2016-06-22 11:55:59 · 477 阅读 · 0 评论 -
从分布式数据库结构入手讲解其前世今生
由于分布式数据库克服了集中式数据库的许多缺点,并且自然地适应于许多单位地理上分散而逻辑上统一的组织结构,因此,20多年以来从理论到实践都得到了迅速发展,并取得了决定性成果。 分布式数据库结构 分布式数据库的典型定义是:分布式数据库是一个数据集合,这些数据在逻辑上属于同一个系统,但物理上却分散在计算机网络的若干站点上,并且要求网络的每个站点具有自治的处理能力,能执行本地的应用。每转载 2016-06-12 10:27:08 · 3997 阅读 · 0 评论 -
Redis repl-disable-tcp-nodelay配置
Base: Redis 2.8.7Redis的Replication有一个配置“repl-disable-tcp-nodelay”,如下# Disable TCP_NODELAY on the slave socket after SYNC?## If you select "yes" Redis will use a smaller number of TCP packets转载 2016-06-02 13:16:07 · 479 阅读 · 0 评论 -
基于Redis实现分布式锁
背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。Redis命令介绍使用Redis实现分布式锁,有两个重要函数需要介绍转载 2016-06-02 08:03:22 · 1443 阅读 · 0 评论 -
redis单线程模型分析
摘要 redis原理 底层实现 多线程redis原理 底层实现 多线程目录[-]redis原理 关于线程安全问题redis原理redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大。不过,因为一般的内存操作都是简单存取操作,线程占用时间相对较短,主要问题在io上,因此,redis这种模型是转载 2016-06-02 08:00:43 · 2951 阅读 · 0 评论 -
linux下redis安装配置及redis常用命令
一、下载redis下载地址:http://code.google.com/p/redis/downloads/list2013年12月7号,我下载的是最新版本:redis-2.6.14.tar.gz另附上csdn上该版本的资源:http://download.csdn.net/detail/wantianwen/6677973使用root安装[plain]转载 2016-06-02 07:40:55 · 451 阅读 · 0 评论 -
Linux 下 Redis 安装详解
redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的。项目中需要用集中式可横向扩展的缓存框架,做了一点调研,即便redis、memcached存在效率上的差异(具体比较参考http://timyang.net/data/mcdb-tt-redis/),但其实都能满足目前项目的需求;但是redis还是比较风骚的,支持链表和集合操作,支持正则表达式查找key,目前项目缓存的结果大转载 2016-06-02 07:33:56 · 233 阅读 · 0 评论 -
Redis介绍以及安装(Linux)
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,redis支持各种不同方式的排序。Redis数据都是缓存原创 2016-06-02 07:32:54 · 424 阅读 · 0 评论 -
查看redis(安装在linux服务器上)的版本
1. 利用 redis-server--version 命令或 redis-server-v , redis-server 在 redis 安装目录中的 src 目录 [root@db148redis-2.6.10]#src/redis-server--version Redisserverv= 2.6.10 sha=00000000:0malloc=jemalloc-3.2.0bits=32 [转载 2016-06-02 07:31:42 · 51042 阅读 · 1 评论 -
redis的默认配置
redis.conf 默认配置:?1234567891011121314151617181920212223242526272829原创 2016-04-20 11:52:36 · 1011 阅读 · 1 评论 -
redis.conf配置详解
redis.conf配置详解 ?12345678910111213141516171819202122232425262728转载 2016-04-20 11:52:01 · 367 阅读 · 0 评论 -
Redis 学习笔记四 Mysql 与Redis的同步实践
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]一、测试环境在Ubuntu kylin 14.04 64bit已经安装MySQL、Redis、php、lib_mysqludf_json.so、Gearman。 点击这里查看测试数据库及表参考 本文也有些基本操作,在之前文章里有介绍。1、安装安装gearman转载 2016-05-27 09:48:35 · 1426 阅读 · 0 评论 -
细说分布式Redis架构设计和踩过的那些坑
摘要:本文章主要分成五个步骤内容讲解 Redis、RedisCluster和Codis; 我们更爱一致性; Codis在生产环境中的使用的经验和坑们; 对于分布式数据库和分布式架构的一些看法; Q & A环节。 Codis是一个分布式Redis解决方案,与官方的纯P2P的模式不同,Codis采用的是Proxy-based的方案。今天我们介转载 2016-06-02 08:04:37 · 15221 阅读 · 3 评论 -
java接口连接redis
在搭建完redis之后,那么我们是要调用这个java接口来连接这个redis那么是如何的进行连接呢??直接的使用redis的构造函数就是可以连接的了,public class JedisTest {@Testpublic void jedisTest(){Jedis jedis = new Jedis("192.168.142.131",原创 2016-06-02 08:15:02 · 1537 阅读 · 0 评论 -
将redis交给spring来管理
首先是通过bean在配置文件中配置然后是设置构造方法的参数,注意的是顺序,以及类型如下所示然后是注入的时候注入的就是这个id所以是要设置这个id的,就是这样原创 2016-06-02 08:23:45 · 1673 阅读 · 0 评论 -
Redis源码分析:主从复制
源码版本:2.4.4更新2014.3.17,base 2.8.7redis的主从复制实现简单却功能强大,其具有以下特点:1. 一个master支持多个slave连接,slave可以接受其他slave的连接2. 主从同步时,master和slave都是非阻塞的redis主从复制可以用来:1. data redundancy 2. slave作为master的扩展,提供转载 2016-06-02 13:15:06 · 430 阅读 · 0 评论 -
Redis源码分析:snapshot
源码版本:redis 2.4.4redis的snapshot通过将内存中的所有数据写入文件,以达到持久化的目的。需要注意的是:1)snapshot方式不是追加,而是将内存所有数据写入文件,snapshot间隔短的话,会造成磁盘IO频繁2)在上一次做snapshot到当前,如果机器crash,期间修改过的数据会丢失redis支持两种方式做snapshot1)客户端发送转载 2016-06-02 13:14:21 · 396 阅读 · 0 评论 -
Redis源码分析:AOF
源码版本:redis 2.4.4AOF(append-only fashion)是redis持久化利器之一。通过写log的方式,以满足在需要的时候,重建数据的需求。the AOF persistence logs every write operation received by the server, that will be played again at server start转载 2016-06-02 13:13:34 · 254 阅读 · 0 评论 -
Redis源码分析:内存管理
源码版本:redis 2.4.4redis内存相关函数都放在zmalloc.h zmalloc.c中redis中可以使用tcmalloc、jemallocMakefile:[cpp] view plain copyifeq ($(USE_TCMALLOC),yes) ALLOC_DEP= ALLOC_LINK=转载 2016-06-02 13:12:38 · 284 阅读 · 0 评论