Currently, software systems are operated in a dynamic and uncertain environment, making it difficult to predict the operating environment. Particularly, the Internet of Things (IoT) interconnects several entities, users, and information resources with services. Therefore, IoT systems can dynamically create various environments at runtime. Consequently, to support the dynamic IoT environment, an efficient verification method is required for IoT systems. Model checking is one of the formal methods for verification of concurrent systems, which is applied in several software fields. However, model checking has a chronic problem (i.e., state explosion) that obstructs the verification at runtime. To overcome this limitation, one possible approach is to abstract the system design as expression forms and then perform verification by solving the expressions. To apply this approach, the abstraction and verification processes need to be performed at a reasonable time. In this article, we focused on developing an efficient model checking method during the IoT system runtime verification. A cache mechanism is proposed that reduces the computational time for abstraction and verification, which was validated through experiments. Additionally, the comparison of other model checking tools (such as RINGA, CadenceSMV, NuSMV, and nuXmv) reveals that the proposed approach is more efficient at runtime.