版权声明: https://blog.csdn.net/hzy52013/article/details/82832393
下载地址:https://ignite.apache.org/download.cgi
git地址:https://github.com/apache/ignite
中文学习网站:https://liyuj.gitee.io/
xml文件配置;
<!-- 配置缓存 --> <bean id="cacheConfiguration" class="org.apache.ignite.configuration.CacheConfiguration"> <!-- 配置缓存的名字 --> <property name="name" value="hzy"/> <!-- 配置缓存模式 REPLICATED:复制模式,写入慢,读取快。 PARTITIONED:分区模式,写入快,读取慢。 --> <property name="cacheMode" value="REPLICATED"/> <!-- 配置备份个数 --> <property name="backups" value="1"/> </bean> <bean id="discoverySpi" class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> <property name="localPort" value="47500"/> <!-- 端口 --> <property name="localPortRange" value="5"/> <!-- 节点个数 --> <property name="ipFinder"> <!-- 地址 --> <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> <property name="addresses"> <list> <value>127.0.0.1:47500..47504</value> </list> </property> </bean> </property> </bean> <bean id="igniteConfiguration" class="org.apache.ignite.configuration.IgniteConfiguration"> <property name="clientMode" value="true"/> <!-- 是否为客户端 --> <property name="cacheConfiguration" ref="cacheConfiguration"/> <!-- 添加缓存配置 --> <property name="discoverySpi" ref="discoverySpi"/> </bean> |
测试:
@Test public void domel01() { ApplicationContext ac=new ClassPathXmlApplicationContext("ApplicationContext.xml"); //加载配置文件 IgniteConfiguration cfg = (IgniteConfiguration) ac.getBean("igniteConfiguration"); //从spring容器中获取igniteconfigruation Ignite ignite = Ignition.start(cfg); //通过自定义配置启动ignite IgniteCache<String, Object> cache = ignite.cache("hzy"); //获取缓存名为hzy的缓存 cache.put("a", 10); //向缓存添加key:a value:10的数据 System.out.println(cache.get("a")); //获取打印 } |
结果
java程序配置
@Configuration public class IgniteConfig { @Bean public CacheConfiguration<String, Deque<Serializable>> getCacheConfigruation(){ CacheConfiguration<String, Deque<Serializable>> cfg = new CacheConfiguration<>(); cfg.setName("hzy"); //缓存的名字 cfg.setCacheMode(CacheMode.REPLICATED); //分区模式 cfg.setBackups(1);// 设置备份的数量 cfg.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.DAYS, 3)));// 过期时间为三天 return cfg; } @Bean public DiscoverySpi discoverySpi() { TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi(); discoverySpi.setLocalPort(47500); //端口 discoverySpi.setLocalPortRange(5); //节点个数 TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(); List<String> addresses = new ArrayList<>(); addresses.add("127.0.0.1:47500..47504"); //地址 ipFinder.setAddresses(addresses); discoverySpi.setIpFinder(ipFinder); //discoverySpi.setForceServerMode(true); return discoverySpi; } @Bean public IgniteConfiguration getIgniteConfiguration(CacheConfiguration<String, Deque<Serializable>> cacheCfg,DiscoverySpi aisp) { IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setClientMode(true); //这里用ignite客户端连接服务端节点 //cfg.setPeerClassLoadingEnabled(true); // 启用Peer类加载器 cfg.setCacheConfiguration(cacheCfg); //添加缓存配置 cfg.setDiscoverySpi(aisp); //添加发现者信息 return cfg; } @Bean public Ignite getIgnite(IgniteConfiguration cfg) { //通过自定义配置启动ignite return Ignition.start(cfg); } } |