I would like to know, is there a way to do CRUD operations using non primary key for a cache defined in grid gain using thin client API (Not by using sql query).
Without using SQL, Ignite is basically a key-value store. You could use a ScanQuery, which iterates over every record in the named cache.
But really, the answer is to use SQL.