Redis(一) 简单安装介绍、测试存储
共同学习,不对的地方请指出,一起探讨!
1. 是一种key-value型存储的缓存服务器,又是一个nosql数据库服务器。
2. 存储数据多样 无列的概念。能存String、list、set、hashes等等,支持主从复制,自动重连等等。
3.用作缓存、近似于memcached,也可作为nosql数据库应用,读写速度快,满足高并发需求
4. JedisPool;在不同的线程中使用相同的Jedis实例会发生奇怪的错误。但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生。 单一Jedis实例不是线程安全的。为了避免这些问题,可以使用JedisPool, JedisPool是一个线程安全的网络连接池。可以用JedisPool创建一些可靠Jedis实例,可以从池中拿到Jedis的实例。这种方式可以解 决那些问题并且会实现高效的性能.
5.缺点,做为noslq数据库应用时,读写性能,受物理内存的限制。
一、Redis安装启动
1.安装
下载 redis-3.0.5.tar.gz -------- 解压 tar -zxvf 到相应文件夹 --------- 编译make
2.配置文件 在 解压目录下 redis.conf
3.启动 解压目录的src下 ./redis-server 启动 默认端口为 6379
4.客户端启动 解压目录的src下 ./redis-cli
eg: 简单的get、set测试
1.解压安装目录
2. src 下启动
3. 客户端 启用 并测试
4.关闭redis。直接kill 、 shutdown 都可
二、java 简单操作Redis存取(jedis)
1. 附上maven依赖
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.2.1</version> </dependency>
2. 简单测试
private static String ip = "192.168.1.118"; private static int port = 6379; /**** * 创建一个jedis实例 * * set 放值 get取值 key-Value 形式 类似于Map * */ @Test public void test1() { Jedis j = null; try{ j = new Jedis(ip, port); j.set("key1", "value111"); j.set("key2", "第二个值"); j.set("key3", "0"); j.incr("key3");//递增 logger.info("------1---:{}", j.get("key1")); logger.info("------2---:{}", j.get("key2")); logger.info("------3---:{}", j.get("key3")); }catch(Exception e){ logger.info("Exception---:{}",e.getMessage()); }finally{ if(j!=null) j.disconnect();//释放连接 } }
3.使用JedisPool 简单测试
@Test public void test3() { JedisPoolConfig jpl = new JedisPoolConfig(); // 设置一个JedisPool最多可分配多少个jedis实例,可通过JedisPool.getResource()来获取, //设置为-1表示不限制,如果JedisPool已经分配了MaxActive,则此时该jedisPool的状态为exhausted(耗尽) jpl.setMaxTotal(50000); //设置最大空闲实例数 jpl.setMaxIdle(5); //表示引用一个jedis实例时,最大等待时间,如果超出,则抛出JedisConnectionException; jpl.setMaxWaitMillis(1000*60*5); //表示在引用一个jedis实例时,是否进行验证操作,为true表示得到的实例都是可用的 jpl.setTestOnBorrow(true); JedisPool jp = new JedisPool(jpl,ip,port); Jedis j = null; try{ long start = System.currentTimeMillis(); logger.info("使用连接池递增开始时间:{}",start); for(int i =0;i<10000;i++){ j = jp.getResource(); j.incr("key3"); } long end = System.currentTimeMillis(); logger.info("使用连接池递增结束时间:{}",end); logger.info("耗时:{}",end-start); }catch(Exception e){ logger.info("Exception---:{}",e.getMessage()); }finally{ if(j!=null) jp.returnResource(j); //放回连接连接池 } }
参考:
http://www.aboutyun.com/thread-9223-1-1.html Redis介绍
http://www.linuxidc.com/Linux/2011-02/32700.htm Redis介绍
http://blog.csdn.net/freebird_lb/article/details/7733970 Redis学习入门篇
http://www.cnblogs.com/linjiqin/archive/2013/06/14/3135248.html 连接池配置及介绍
相关推荐
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Why Redis? 作为key-value型数据库,Redis: 性能极高 Redis能读的速度是110000次/s,写的速度是81000次/s 丰富的数据...
这是我个人这段时间学习Redis的集合,有Redis的简单测试,Redis的Cluster集群、Redis的Sentinel主从集群、Tomcat+Redis的Session存储、还有基于Spring-data-redis的使用。分享出来给大家,下载可以直接使用,快速...
(真的)安装Redis的简单剧本。 稍后会进行各种配置调整:) ##支持的系统 目前仅支持和测试 Debian Jessie amd64。 补丁欢迎支持其他操作系统。 ##安装 只需在您的roles目录中以名称redis克隆(或子模块)此存储...
Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware)。 对于Session来说褒贬不一,很多人直接说不要用,也有很多人在用,这个也没有...
kakku-redis-store 一个-...发展开发非常简单,都是 JS 和标准节点的东西: 要安装依赖项: $ npm install 要运行测试: $ npm test 然后就制作你的真棒功能并为它做一个 PR。 不要忘记先提交一个问题,或者从一个空的
使用 Xpath 技术对下载的网页进行提取解析,运用 Redis 数据库做分布式, 设计并实现了针对当当图书网的分布式爬虫程序,scrapy-redis是一个基于redis的scrapy组件,通过它可以快速实现简单分布式爬虫程序,...
基于Redis解决缓存击穿、穿透和雪崩问题的通用解决方案,拿来即...支持存储对象、集合、简单数据类型等。无需提前将数据存入Redis,直接使用提供的分布式缓存接口查询数据即可,附带完善的单元测试用例,方便学习使用。
这是一个简单的node.js应用程序,用于检查Stacks区块链测试网的状态。 它还会发送一系列交易,包括令牌转移,合同部署和合同功能调用交易,作为状态检查的一部分。 主页由express.js服务,数据存储由Redis处理。 ...
##Overview 一个用于 API 框架的简单会话数据处理程序,它使用内置的 Redis(或用于测试的 fake-redis)后端。 TDPAHSessionPlugin 专为与 actionHero API 框架一起使用而设计,因此不太可能直接与任何其他应用程序...
作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API。 与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久...
save-基于CRUD的简单持久性抽象,用于将对象存储到任何后端数据存储。 例如。 内存,MongoDB,Redis,CouchDB,Postgres,Punch Card等 save带有功能齐全的内存引擎,可以非常方便地测试模型。 为了在现实世界中...
:chart_increasing: 基于机架的A / B测试框架 Split是基于机架的A / B测试框架,旨在与Rails,Sinatra或任何其他基于机架的应用程序一起使用。... 如果您使用的是OS X,Homebrew是安装Redis的最简单方法
快速-直接从缓存返回原始响应,并默认使用LRU缓存的优化版本(地图) 简单-支持所有原始标头,状态代码,并且只需更改少量代码灵活-在后台,进程内或远程使用任何缓存提供程序,例如Redis缓存经过良好测试-在生产中...
项目需求,试着写了一个简单登录统计,基本功能都实现了,日志数据量小。具体性能没有进行测试~ 记录下开发过程与代码,留着以后改进! 1. 需求 实现记录用户哪天进行了登录,每天只记录是否登录过,重复登录...
简单的nodejs,socket.io基准测试。 (从分叉)安装: 克隆此存储库在创建的目录上, npm i 设置ulimit ulimit -u <desired> , ulimit -n <desired> 设置ulimit可以增加打开的套接字的最大数量。跑步: 启动服务器...
该脚本对我们在nabla-demo-appsruntest.bash存储库中提供的一个 Docker 容器执行测试 。目前这包括: node-express:一个 node.js express 应用程序 redis-test : 一个 redis 键/值服务器 python-tornado : Python ...
使用AppFabric或Redis存储序列化对象的小测试 在此之后你可以运行 DistributedCacheCLI.exe 这会: 插入 1,000 个对象, 再读一遍, 两分钟后,对象将过期。 安装 要安装这个简单的 DistributedCache 客户端,...
Bifrost ----面向生产环境MySQL同步到Redis,ClickHouse等服务的多个中间件 漫威里的彩虹桥可以将雷神放置到阿斯加德和地球 而这个Bifrost可以将你MySQL里的数据全量,实时的同步到: 雷迪斯 MongoDB ClickHouse...
2. 使用 Redis 对代理进行存储并对代理可用性进行排序 3. 定时测试和筛选,剔除不可用代理,留下可用代理 4. 提供代理 API,随机取用测试通过的可用代理 运行方式: 1. Docker 2. Python+Redis Github 链接:...