If I am implementing in-memory(RAM) search operation with b trees, then would it be better in terms of caching or some other effects when compared with binary trees?
B-trees differ from binary trees in that keys and pointers are clustered in memory, so you get somewhat better cache behavior both on disk and in memory. There is no difference in asymptotic (big-O) runtime, though.