redis简单理解

市面上不少存储系统和编程语言内部使用CAS机制实现计数功能,会有必定的cpu开销,但在redis彻底不存在这个问题php

redis为何单线程还能保持操做如此之快:java

1.纯内存方法,全部数据放在内存中,内存的响应时长大约为100纳秒,这是redis达到秒万级别访问的最重要基础node

2.非阻塞I/O,epoll模型,再加上redis自身的事件处理模型将epoll中的链接,读写,关闭都转换为事件python

3.单线程避免了线程切换和竞态产生的消耗c++

redis特性:速度快,基于键值对的数据结构服务器,丰富的功能,简单稳定,客户端语言多(java,php,python,c,c++,nodejs等),持久化(RDB,AOF),主从复制,高可用和分布式(redis sentinel)redis

redis使用场景:计数器,排行榜系统,缓存,社交网络,消息队列系统数据库

redis不能够使用场景:数据量很是大(每日几亿用户行为数据),冷数据(不常使用的数据,内存的消耗)编程

redis默认端口号6379  缓存

通用全局命令:服务器

keys * 查看全部的健

dbsize 返回当前数据库中健的总数,时间复杂度0(1),不会遍历全部健,并且直接获取redis内置的健总数变量

exists key 是否存在,存在1,不存在0

del key 删除,返回删除key的个数

expire key seconds 设置过时时间 秒

ttl 返回键的剩余过时时间,-1 未设置过时时间 -2 不存在,大于等于0 剩余过时时间

type key 健的数据结构类型(string,list,hash,set,zset) ,实际上每种数据类型都有对应的合适的内部编码

相关文章
相关标签/搜索