数据结构: value的数据类型.
编码方式: redis内部底层的实现.
在同一个数据结构中,背后的编码方式的实现可能是不同的.会根据特定场景进行优化....服务器是串行/顺序执行这多个命令的....redis能够使用单线程模型很好地工作,原因主要在于redis的核心业务逻辑,都是短平快的,不消耗cpu资源....数据库对于数据的插入删除查询,都会有更复杂的功能支持.这样的功能势必要花费更多的开销.比如针对插入删除,数据库中的各种约束,都会使数据库做额外的工作.
单线程模型,避免了一些不必要的线程竞争开销....redis 每个基本操作,都是短平快的,即简单操作内存数据,不是什么特别消耗cpu的操作.
处理网络IO的时候,使用了 epoll这样的IO多路复用机制.