Even without Cache-EX enabled, Oscam builds a cache by default. Every ECM request done by a client is forwarded to a card or proxy reader.
All answered ECM's will stay in Oscam's memory for a certain period of time, and will be removed when its TTL (Time to Live) expires. On a busy server, you can imagine that there are quite a bunch of valid ECM's stored in memory. All together they are called "Cache".
When another user requests an ECM for the same channel at the same time, Oscam will automatically return the copied/stored/cached ECM from its local cache, without requesting any reader.
Every ECM requested is always checked against the available cache first, so the result is a 50% save on your card, based on the 2 users requesting the same ECM.