We are continuing work on techniques for efficiently providing transactional consistency in distributed storage systems. Our work involves a flexible application-level cache, TxCache, which efficiently stores application data objects in memory, while maintaining the transactional consistency guarantees of the underlying storage service. TxCache builds on a new protocol that permits applications to see slightly stale, but nevertheless consistent data. We are currently developing a prototype of TxCache and analyzing its performance. We are also planning to develop techniques for the storage server to efficiently generate and distribute cache invalidations, notifying clients when their cached data becomes stale.