You create cache regions either programmatically or through declarative statements in the cache.xml file. Generally, a cache is organized and populated through a combination of the two approaches.
The region is the core building block of the Pivotal GemFire distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
A distributed region can be either non-partitioned or a partitioned region. See the GemFire User's Guide for detailed descriptions of both non-partitioned and partitioned regions. Region creation is subject to attribute consistency checks. The requirements for consistency between attributes are detailed both in the online API documentation and throughout the discussion of Region Attributes.