一文搞懂redis
Redis是什么?
NoSQL= not only sql,而不是no sql
Redis = Remote Dictionary Server (远程调用字典服务)
Redis是开源的 内存中的数据结构存储系统,它可以用作 数据库、 缓存和 消息中间件,它支持多种类型的数据结构,如 字符串strings, 散列hashes, 列表lists, 集合sets, 有序集合sorted sets与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。
Redis还内置了 复制(replication),LUA脚本(Lua ing), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)
通用命令
- keys:查询所有的key,支持正则
- dbsize:计算key的总数
- exists key:是否存在key
- del key [key...]:删除key。(del key1,key2...)
- expire key seconds:设置过期时间
- ttl key:查看剩余过期时间
- persist key:去掉过期时间
- type key
数据结构
redis的五个类型
- string:动态字符串
- hash:哈希
- list:列表
- set:集合
- zset:有序集合
redis底层的八种数据结构
REDIS_ENCODING_INT(long 类型的整数)
REDIS_ENCODING_EMBSTR embstr (编码的简单动态字符串)
REDIS_ENCODING_RAW (简单动态字符串)
REDIS_ENCODING_HT (字典)
REDIS_ENCODING_LINKEDLIST (双端链表)
REDIS_ENCODING_ZIPLIST (压缩列表)
REDIS_ENCODING_INTSET (整数集合)
REDIS_ENCODING_SKIPLIST (跳跃表和字典)