@envitraux - for a WCF service, you could use a private static property with a public getter that checks if the private is null, if it is, initialize the connection to couchbase cluster & use this to set the private property. If its not null, return the private property.
This will both be shared by all connections to the service AND long lived as it is (normally) only disposed when the apppool is shutdown / recycled.
Be aware that opening the connection to the cluster can take a few seconds, in my code I used a flag to inidicate that the connection was being initialized and allowed the other requests to fail - at which point I would go direct to a sql database to get the data I needed.
Depending upon how you are using couchbase this may or may not be valid option for you - I was using couchbase only as a distributed cache rather than my only document store.