标签归档:nosql

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:改名   (7)renamenx key newkey:如果newkey不存在则修改成功   (8)move key 1:将key移动到1数据库   (9)ttl key:查询key的生命周期(秒)   (10)expire key 整数值:设置key的生命周期以秒为单位   (11)pexpire key 整数值:设置key的生命周期以毫秒为单位   (12)pttl key:查询key 的生命周期(毫秒)   (13)perisist key:把指定key设置为永久有效 二、字符串类型的操作   (1)set key value [ex 秒数] … 继续阅读

发表在 数据库 | 标签为 , , | 留下评论

redis使用场景

不要放冷数据 首先,对于冷数据,无论大小,都不建议放在 Redis 中。Redis 数据要全部放在内存中,资源宝贵,把冷数据放在其中实在是一种浪费,冷数据放在普通的存储比如关系数据库中就好了。 冷数据的例子 1.网站的文章 2.几万年不变的数据 放热数据 尤其是写频繁的热数据,如果量比较小,是最适合放到 Redis 中的。 热数据的例子 1.用户注册数 2.文章阅读量 3.热度排行榜 4.用户订阅量 一个游戏,用户分数存储结构     ZADD leaderboard <score> <username> 例子:一个在线游戏你会需要 1.前100名高手榜 ZREVRANGE leaderboard 0 99 2.某一个用户在游戏的实时排名 ZRANK leaderboard <username> 3.强大的计数功能 这要感谢INCRBY和其他相似命令。 INCR user: EXPIRE     user: … 继续阅读

发表在 JAVA, 数据库 | 标签为 , | 留下评论

redis访问权限控制,密码设置

redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护。 1.比较安全的办法是采用绑定IP的方式来进行控制。 bind 127.0.0.1 表示仅仅允许通过127.0.0.1这个ip地址进行访问。那么其实只有自己才能访问自己了,其他机器都无法访问他。 这段命令要去redis.conf里修改。 这里请注意 我们常用的启动方式src/redis-server 改为src/redis-server redis.conf 因为它需要加载配置文件。 这个方法有一点不太好,我难免有多台机器访问一个redis服务 2.设置密码,以提供远程登陆 redis.conf 找到 requirepass 写上 requirepass yourpassword 设置密码以后发现可以登陆,但是无法执行命令了。 src/redis-cli -h 192.168.1.121 keys * (error) ERR operation not permitted 授权命令 auth 123456 登陆带密码方式 ./redis-cli -h 192.168.1.121 -a abcd 由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 … 继续阅读

发表在 Linux, 高并发与大数据 | 标签为 , , , | 留下评论

redis-benchmark 测试redis性能

注明:本篇文章部分内容为原来reids.io官方英文文档翻译 redis 自己提供了一个性能测试工具redis-benchmark. redis-benchmark可以模拟N个机器,同时发送M个请求。 用法:redis-benchmark [-h ] [-p ] [-c ] [-n [-k ] -h <hostname> Server hostname (default 127.0.0.1) -p <port> Server port (default 6379) -s <socket> Server socket (overrides host and port) -c <clients> Number of parallel connections … 继续阅读

发表在 Linux, 高并发与大数据 | 标签为 , , , , | 留下评论

ubuntu安装Redis Live监控服务

redis live为监控redis服务的软件,带有监控web界面。 流传于互联网的各种教程,都有个巨大的让人搞不太清楚的问题。就是到底RedisStatsServer 6381端口哪里来的问题。 月小升采用逐步安装的办法。也没有找到,有知道如何配置RedisStatsServer的朋友,请告知。以下正文为放弃6381的安装方法。 一般Linux自带python版本 安装python 相关 pip命令 sudo apt-get install python-setuptools sudo easy_install pip pip-2.6 install tornado pip-2.6 install redis pip-2.6 install python-dateutil 查看你机器python版本 直接输入python 如果低于2.7 安装 pip-2.6 install argparse 下载 redis live链接 https://github.com/kumarnitin/RedisLive/zipball/master 进入src目录修改redis-live.conf { "RedisServers": [ … 继续阅读

发表在 Linux, 数据库, 高并发与大数据 | 标签为 , , , | 2 条评论

java遍历redis的key读取整个数据库

redis提供了灵活的数据查询方式,最牛的就是key的搜索支持正则表达式。 jedis.keys(“*”);表示搜索所有key jedis.keys(“abc*”)表示搜索开头为abc的key数据 遍历了key就能遍历到value。 其实就是一个set RedisDO rd = new RedisDO(); rd.open(); Set s = rd.jedis.keys("*"); Iterator it = s.iterator();     while (it.hasNext()) { String key = (String) it.next(); String value = rd.jedis.get(key); System.out.println(key + value); } rd.close(); rd的算法为集成redis 运算 … 继续阅读

发表在 JAVA, 高并发与大数据 | 标签为 , , , | 留下评论

Linux下Memcache安装及java调用

ubuntu下就是方便啊。 直接apt-get install memcached memcached -d -m 500 -p 11211 -u root -l 192.168.0.11 服务启动 说明 -m表示给多少内存给memcache -p 端口 -u 指定用户执行身份 -d 守护进程模式 本地查看 telnet 192.168.0.11 11211 进入以后敲入 stats 下载java操作memcache客户端 https://github.com/gwhalin/Memcached-Java-Client/downloads 将解压缩的jar包全部复制到java工程lib下。 开始搞了。 import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool;   public class … 继续阅读

发表在 JAVA, Linux, 高并发与大数据 | 标签为 , , , | 留下评论

redis安装及快速配置

redis 下载 http://redis.io/download 安装 tar xzf redis-2.4.17.tar.gz mv Users/mc2/Downloads/redis-2.4.17 /Users/mc2/redis cd /Users/mc2/redis make make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下: redis-server:Redis服务器的daemon启动程序 redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作 redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能 redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况 启动 cd src ./redis-server 【默认启动会执行默认的conf文件】 server 启动以后会看到 [33003] 04 Sep 09:08:33 – 0 clients connected (0 slaves), 922368 bytes in use 这样的消息 … 继续阅读

发表在 JAVA, 数据库, 高并发与大数据 | 标签为 , | 留下评论

google f1 数据库又一个nosql

导读:大数据时代的来临也促使NoSQL数据库迅速崛起,但这并不意味着传统关系数据库即将消亡。近日Google研究院就推出被称为F1的新型数据库,F1作为一种混合型数据库融合了BigTable的高扩展性和SQL数据库的可用性和功能性。F1数据库作者共有12人,清单如下:Jeff Shute、Mircea Oancea、Stephan Ellner、Ben Handy、Eric Rollins、Bart Samwel、Radek Vingralek、Chad Whipkey、Xin Chen、Beat Jegerlehner、Kyle Little?eld、Phoenix Tong。 google 自己出NOSQL其实可以在意料之中,因为这么强大的公司,自己那么多专利,那么多高级开发人员,那么需要NOSQL。就如google自己的GFS,Mapreduce一样。 现今云计算的从业人员对NoSQL一词并不感到陌生,虽然很多技术人员都长期从事关系数据库的工作,但现在他们对NoSQL技术充满期待。对于企业来说,从关系型数据库到NoSQL数据库转变绝对是个需要深思熟虑的大改变。这涉及的不仅是软件的变化,更多的是对于数据存储上观念性的变化。 NoSQL——关系数据库的有力补充 目前,NoSQL和文档数据库成为关系数据库的有力补充(而非替代品),同时提供了更多的选择。如果企业准备将数据迁移,那么选择NoSQL的重要标准就是要看CAP(Consistency、Availability和Partition Tolerance),也就是我们所说的一致性、可用性和分区容忍性。但CAP原则要求在分布式系统只能选择一致性、可用性和分区容忍性其中的两项。所以如果企业认为一致性是重要的那么关系数据库理应是优先选择的对象。 例如在银行等应用领域,一致性是非常重要的,这要求必须随时考虑每个数据块。 而CAP原则中的可用性也不容忽视,某些领域的数据可用性要比等待所有交易数据收集齐全更为重要。最后在水平缩放时,分区容忍性对于文档数据库显得尤为关键。但MongoDB并不支持复杂的事务,只支持少量的原子操作,所以不适用于“转帐”等对事务和一致性要求很高的场合。这就要求需要一个关系数据库来对 交易进行过高级别的控制。 鉴于NoSQL目前的现状,Google研究院近日就推出命名为F1的新数据库,F1作为一种混合型数据库融合了BigTable的高扩展性和SQL数据库的可用性和功能性。F1数据库意味着你可以拥有伸缩性很强的数据库,而不必转向NoSQL。 F1可支持Google核心的AdWords业务 F1是一个从头开始建立的新数据库,其设计指标符合Google所需的规模,与此同时不会影响RDBMS的功能。F1的关键特性包括:高扩展性(自动分片存储); 可用性和一致性(同步复制); High commit latency: Can be hidden(分层架构、协议缓冲列类型、高效客户端代码) F1底层存储 F1的底层文件系统为BigTable的继任产物Megastore,其属性主要包括:全局分布式;同步跨数据中心复制;可视分片和数据移动;常规事务;多次读取单原子写入;本地或跨机器以及快照读取。 F1数据库的架构和特性 架构:Sharded Spanner 服务器;数据存在GFS和内存之中;Stateless F1 服务器;工作池提供查询执行 … 继续阅读

发表在 科技精品 | 标签为 , , | 留下评论