Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using MongoDB as a cache store

DZone's Guide to

Using MongoDB as a cache store

· Performance Zone ·
Free Resource

Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.

 With the 5.3 release, there is a brand new feature. I'm glad to announce that you will be able to use MongoDB as a cache store.

For those who don't know MongoDB, it's an open-source document oriented NoSQL database developped by 10Gen. You can more information about it on http://www.mongodb.org/.

The question you have right now, it probably, how to use it cool cache store ? Simple, as for the other cache store you have to add a loader in your Infinispan configuration file.

Here is an exemple:

 <loaders>
      <mongodbStore xmlns="urn:infinispan:config:mongodb:5.3" >
            <connection host="localhost" port="27017" timeout="2000" acknowledgment="0"/>
            <authentication username="mongoUser" password="mongoPass" />
            <storage database="infinispan_test_database" collection="infispan_cachestore" />
    </mongodbStore>
 </loaders>
ConfigurationBuilder b = new ConfigurationBuilder();
b.loaders().addStore(MongoDBCacheStoreConfigurationBuilder.class)
   .host( "localhost" )
   .port( 27017 )
   .timeout( 1500 )
   .acknowledgment( 0 )
   .username( "mongoDBUSer" )
   .password( "mongoBDPassword" )
   .database( "infinispan_cachestore" )
   .collection( "entries" );
 
final Configuration config = b.build();
MongoDBCacheStoreConfiguration store = (MongoDBCacheStoreConfiguration) config.loaders().cacheLoaders().get(0);
For more information about the configuration possibilities (default values, options, etc) , you can refer to the documentation page

What’s the best way to boost the efficiency of your product team and ship with confidence? Check out this ebook to learn how Sentry's real-time error monitoring helps developers stay in their workflow to fix bugs before the user even knows there’s a problem.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}