目前最流行内存数据库当属Redis。Redis是一个开放源内存中数据结构存储,可用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超级日志,带有半径查询和流的地理空间索引。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。丰富功能特性,让这款产品深受大众喜爱。底层大量用数据结构一些设计思想。想了解数据结构返回找以前介绍的一些数据结构知识
1下面讲解基于windows下载安装
A 打开https://github.com/MicrosoftArchive/redis/releases
B 下载
C 一路点next安装
D 进入安装目录输入redis-server 按回车启动
2 常见命令剖析和实战
Redis 全部数据运算命令有以下这些:
DECR, DECRBY, DEL, EXISTS, EXPIRE, GET, GETSET, HDEL, HEXISTS, HGET, HGETALL, HINCRBY, HKEYS, HLEN, HMGET, HMSET, HSET, HVALS, INCR, INCRBY, KEYS, LINDEX, LLEN, LPOP, LPUSH, LRANGE, LREM, LSET, LTRIM, MGET, MSET, MSETNX, MULTI, PEXPIRE, RENAME, RENAMENX, RPOP, RPOPLPUSH, RPUSH, SADD, SCARD, SDIFF, SDIFFSTORE, SET, SETEX, SETNX, SINTER, SINTERSTORE, SISMEMBER, SMEMBERS, SMOVE, SORT, SPOP, SRANDMEMBER, SREM, SUNION, SUNIONSTORE, TTL, TYPE, ZADD, ZCARD, ZCOUNT, ZINCRBY, ZRANGE, ZRANGEBYSCORE, ZRANK, ZREM, ZREMRANGEBYSCORE, ZREVRANGE, ZSCORE
2.1 SET命令剖析
A SET key value [EX seconds|PX milliseconds|KEEPTTL] [NX|XX]
B 时间复杂度为O(1)
C 当为key赋值value,如果key已存在,无论值是任何类型,都会被覆盖。赋值成功,返回OK,则以前与key关联的值都会被清除。
D 方括号的参数为可选EX表示指定到期时间单位为秒,PX表示指定到期时间为毫秒,NX表示仅为不存在的键设赋值,XX表示仅为存在的键赋值。
E 实验案例:
SET赋值操作图
有效期设置,5秒过后值被清除了,获取不到
NX设置示意图,当name已存在设置失败,name5不存在设置成功
XX设置示意图,当name存在设置成功,a 不存在设置失败
2.2 GET 命令剖析
A GET key 时间复杂度为O(1)
B 获取KEY的值,如果KEY不存在则返回nil,如果存在KEY值非字符串返回错误提示。GET仅处理字符串。
C 实验案例:
get 操作示意图
2.3 EXISTS 命令剖析
A EXISTS key [key ...] 时间复杂度为O(1)
B 检验key是否存在,存在返回1,不存在返回0。从3.0.3开始可以指定多个键,返回的数字表示存在多少个键。
C 实验案例:
EXISTS 命令示意图
2.4 DEL key [key ...]
A 删除指定的键,如果键不存在,则忽略。键存在,返回被删除键的数量。
B 实验案例:
DEL 删除命令示意图
下一讲 继续未探索的命令