`
TableMiao
  • 浏览: 73759 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Redis(一) 简单安装介绍、测试存储

阅读更多

Redis(一) 简单安装介绍、测试存储

  共同学习,不对的地方请指出,一起探讨!

 

    1. 是一种key-value型存储的缓存服务器,又是一个nosql数据库服务器。

    2. 存储数据多样 无列的概念。能存Stringlistsethashes等等,支持主从复制,自动重连等等。

    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: 简单的getset测试

 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  连接池配置及介绍

 

 

 

 

  • 大小: 1.9 KB
  • 大小: 70.9 KB
  • 大小: 6.4 KB
  • 大小: 35.2 KB
分享到:
评论

相关推荐

    macOS上Redis的安装与测试操作

    Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Why Redis? 作为key-value型数据库,Redis: 性能极高 Redis能读的速度是110000次/s,写的速度是81000次/s 丰富的数据...

    Redis学习集合包

    这是我个人这段时间学习Redis的集合,有Redis的简单测试,Redis的Cluster集群、Redis的Sentinel主从集群、Tomcat+Redis的Session存储、还有基于Spring-data-redis的使用。分享出来给大家,下载可以直接使用,快速...

    ansible-playbook-redis:ansible 的非常简单的 Redis 剧本

    (真的)安装Redis的简单剧本。 稍后会进行各种配置调整:) ##支持的系统 目前仅支持和测试 Debian Jessie amd64。 补丁欢迎支持其他操作系统。 ##安装 只需在您的roles目录中以名称redis克隆(或子模块)此存储...

    详解Asp.net Core 使用Redis存储Session

    Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware)。 对于Session来说褒贬不一,很多人直接说不要用,也有很多人在用,这个也没有...

    kakku-redis-store:Kakku 的 Redis 存储

    kakku-redis-store 一个-...发展开发非常简单,都是 JS 和标准节点的东西: 要安装依赖项: $ npm install 要运行测试: $ npm test 然后就制作你的真棒功能并为它做一个 PR。 不要忘记先提交一个问题,或者从一个空的

    Python基于Scrapy-Redis分布式爬虫+源代码+文档说明+数据库.zip

    使用 Xpath 技术对下载的网页进行提取解析,运用 Redis 数据库做分布式, 设计并实现了针对当当图书网的分布式爬虫程序,scrapy-redis是一个基于redis的scrapy组件,通过它可以快速实现简单分布式爬虫程序,...

    基于Redis解决缓存击穿、穿透和雪崩问题的通用解决方案,拿来即用.zip

    基于Redis解决缓存击穿、穿透和雪崩问题的通用解决方案,拿来即...支持存储对象、集合、简单数据类型等。无需提前将数据存入Redis,直接使用提供的分布式缓存接口查询数据即可,附带完善的单元测试用例,方便学习使用。

    stacks-chain-status

    这是一个简单的node.js应用程序,用于检查Stacks区块链测试网的状态。 它还会发送一系列交易,包括令牌转移,合同部署和合同功能调用交易,作为状态检查的一部分。 主页由express.js服务,数据存储由Redis处理。 ...

    TDPAHSessionPlugin:使用内置 Redis 后端的 actionhero API 框架的简单会话数据处理程序

    ##Overview 一个用于 API 框架的简单会话数据处理程序,它使用内置的 Redis(或用于测试的 fake-redis)后端。 TDPAHSessionPlugin 专为与 actionHero API 框架一起使用而设计,因此不太可能直接与任何其他应用程序...

    Nginx安装包

    作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API。 与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久...

    save:基于CRUD的简单持久性抽象,用于将对象存储到任何后端数据存储中。 例如。 内存,MongoDB,Redis,CouchDB,Postgres,Punch卡等

    save-基于CRUD的简单持久性抽象,用于将对象存储到任何后端数据存储。 例如。 内存,MongoDB,Redis,CouchDB,Postgres,Punch Card等 save带有功能齐全的内存引擎,可以非常方便地测试模型。 为了在现实世界中...

    split:基于机架的AB测试框架

    :chart_increasing: 基于机架的A / B测试框架 Split是基于机架的A / B测试框架,旨在与Rails,Sinatra或任何其他基于机架的应用程序一起使用。... 如果您使用的是OS X,Homebrew是安装Redis的最简单方法

    outputcache:使用Redis,Memcached或NodeJS的任何缓存提供程序缓存api响应

    快速-直接从缓存返回原始响应,并默认使用LRU缓存的优化版本(地图) 简单-支持所有原始标头,状态代码,并且只需更改少量代码灵活-在后台,进程内或远程使用任何缓存提供程序,例如Redis缓存经过良好测试-在生产中...

    基于Redis位图实现系统用户登录统计

    项目需求,试着写了一个简单登录统计,基本功能都实现了,日志数据量小。具体性能没有进行测试~ 记录下开发过程与代码,留着以后改进! 1. 需求   实现记录用户哪天进行了登录,每天只记录是否登录过,重复登录...

    redis-pubsub-high-cpu-usage:确保Redis pubsub导致CPU使用率高的实验

    简单的nodejs,socket.io基准测试。 (从分叉)安装: 克隆此存储库在创建的目录上, npm i 设置ulimit ulimit -u &lt;desired&gt; , ulimit -n &lt;desired&gt; 设置ulimit可以增加打开的套接字的最大数量。跑步: 启动服务器...

    nabla 容器的测量和比较_shell_代码_相关文件_下载

    该脚本对我们在nabla-demo-appsruntest.bash存储库中提供的一个 Docker 容器执行测试 。目前这包括: node-express:一个 node.js express 应用程序 redis-test : 一个 redis 键/值服务器 python-tornado : Python ...

    DistributedCache:使用 Redis 或 AppFabric 的分布式缓存 (C#.NET) 的小示例。 笔记

    使用AppFabric或Redis存储序列化对象的小测试 在此之后你可以运行 DistributedCacheCLI.exe 这会: 插入 1,000 个对象, 再读一遍, 两分钟后,对象将过期。 安装 要安装这个简单的 DistributedCache 客户端,...

    Bifrost:Bifrost ----面向生产环境MySQL同步到Redis,MongoDB,ClickHouse,MySQL等服务的多个中间件

    Bifrost ----面向生产环境MySQL同步到Redis,ClickHouse等服务的多个中间件 漫威里的彩虹桥可以将雷神放置到阿斯加德和地球 而这个Bifrost可以将你MySQL里的数据全量,实时的同步到: 雷迪斯 MongoDB ClickHouse...

    Github Python ProxyPool(代理池)

    2. 使用 Redis 对代理进行存储并对代理可用性进行排序 3. 定时测试和筛选,剔除不可用代理,留下可用代理 4. 提供代理 API,随机取用测试通过的可用代理 运行方式: 1. Docker 2. Python+Redis Github 链接:...

Global site tag (gtag.js) - Google Analytics