A data processing apparatus and a method for caching data values in data processing apparatus comprising a level one cache and a level two cache is disclosed. Both the level one cache and the level two cache are operable to store the data values. The method comprises the steps of: a) receiving a transaction request in which a data transaction relating to a data value is requested to occur, the transaction request including cache policy attributes associated with an address of the data value; and b) determining from the cache policy attributes whether or not the data value can be stored by the level one cache and the level two cache and, if so, in which one of the level one cache and the level two cache the data value is to be stored in order to ensure that the data value is prevented from being stored in both the level one cache and the level two cache. Providing cache policy attributes with each data transaction enables a simple determination to be made of which cache should be used to store each data value, with other caches being prevented from storing that data value. Such an approach obviates the need to perform any complex operations in order to determine which cache should be used to store that data value. Hence, a data value may be prevented from being stored in both the level one cache and the level two cache at any one time which ensures that the level one cache and level two cache do not store duplicate data thereby increasing the likelihood of a cache hit within level one or level two for any data value.