code: func NewDatabaseWithCache(db ethdb.Database, cache int) Database {
  	csc, _ := lru.New(codeSizeCacheSize)
  	return &cachingDB{
  		db:            trie.NewDatabaseWithCache(db, cache),
  		codeSizeCache: csc,
  	}
  }
docs: // NewDatabaseWithCache creates a backing store for state. The returned database
  // is safe for concurrent use and retains a lot of collapsed RLP trie nodes in a
  // large memory cache.