Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to start with memcached

Tags:

c#

.net

memcached

Currently I am working on a project in which I need to use memcached. I have researched through a lot of web links but I do not understand how to get started with memcached. I have already worked with mongodb but would like help with configuration of memcached.

I am using windows 7 operating system and have used the following links so far.

http://www.codeforest.net/how-to-install-memcached-on-windows-machine

http://memcached.org/

http://www.codeproject.com/KB/aspnet/memcached_aspnet.aspx

like image 650
slash shogdhe Avatar asked Jan 31 '11 06:01

slash shogdhe


People also ask

How do I start memcached on Mac?

memcached. plist in /usr/local/Cellar/memcached/$version/ ; you copy that file into ~/Library/LaunchAgents and then tell launchd to start it with launchctl load -w ~/Library/LaunchAgents/homebrew. mxcl. memcached.


2 Answers

Well, finally I got the answer...

I have gone through more then 50 link related to memcache,the best and only link which give you how to implement memcache in your project is

http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=96698&av=163627

and for theoretical knowledge please refer the link below

http://code.google.com/p/memcached/wiki/FAQ#What_is_the_maximum_data_size_you_can_store?_(1_megabyte)

code example is

http://www.koders.com/csharp/fid80DA3A5A619DF298A8902A3E74A94B7A126D0438.aspx?s=socket

I have created the small document have a look before you start memcache

        /// difference between set and add and replace

        /// add property do not use to add key which is already exist in memcache
        /// set use to overwite the key if that is already exist in memcache
        /// if key already exist ,replace property can replace it other wise not,where else set property use to replace if key already exist other wise it will add new key in the memcache


        ///Important
        ///
        /// if u are fetching the key which do not exist in memcache it will return null,as well if u are fetching the key whose value is null in memcache it will return null
        /// so avoid inserting the key with null value
        /// 
        ///If you simply want to avoid key collision between different types of data, simply prefix your key with a useful string. For example: "slash_1", "pradeep_1".  
        ///
        /// 
        /// 
        /// FlushAll() method use to remove(Flush) every thing from memcache
        /// 
        /// Stats() gives every information about the memcache like total items,connections,pId etc.....


        /// difference between increment, decrement
        /// 
        /// to use Increment or Decrement first u need to store counter by StoreCounter method else u will get null
        ///


        /// difference between GetMultiple and GetMultipleArray
        /// 
        ///GetMultiple gives you the object with there key and GetMultipleArray gives you the object not the key
like image 59
slash shogdhe Avatar answered Oct 12 '22 14:10

slash shogdhe


You will need a Memcache server and a Memcache client.

I've found one of the best Memcache servers for Windows platforms is http://www.membase.com/products-and-services/memcached

It is built by the original Memcached developers. Setup takes a few minutes and configuration is very easy through their web interface.

The recommended Memcache client for .NET is Enyim http://memcached.enyim.com/

You can find configuration examples for Enyim at https://github.com/enyim/EnyimMemcached/wiki

Alternatively, I've actually found Microsoft AppFabric Caching (codenamed Velocity) to work better for .NET. I had serialization issues with Memcache and Linq objects, and AppFabric worked without a problem.

Here is a tutorial on AppFabric if you're interested in that as well

http://www.hanselman.com/blog/InstallingConfiguringAndUsingWindowsServerAppFabricAndTheVelocityMemoryCacheIn10Minutes.aspx

like image 34
mfanto Avatar answered Oct 12 '22 15:10

mfanto