Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
指令 |
说明 |
案例 |
set |
设定key的值 |
set name tom |
get |
获取指定 key 的值 |
get name |
strlen |
获取key值的长度 |
strlen name |
exists |
检查给定 key 是否存在 |
exists name 返回1存在 0不存在 |
del |
删除指定的key/key1 key2 |
del name1 name2 |
keys |
命令用于查找所有符合给定模式 pattern 的 key |
Keys * 查询全部的key值 Keys n?me 占位符 Keys name* 以name开头的key |
mset |
赋值多个key-value |
mset key1 value1 key2 value2 key3 value3 同时赋值多个值 |
mget |
获取多个key |
Mget key1 key2 key3 |
append |
对指定的key进行追加 |
append key 123456 value123456 append key " 123456" value 123456中间多一个空格 |
Type |
查看key的类型 |
Type key1 127.0.0.1:6379> TYPE key1string |
Flushdb |
清空当前数据库 |
Flushdb 清空数据库 |
Select |
切换数据库 |
Select 0-15 redis一共有16个数据库 |
FLUSHALL |
清空全部数据库数据 |
flushall |
Incr |
自动增长1 |
Incr num 数据会自动加1 Incr string 数据库会报错 |
Decr |
自动减1 |
Decr name 数据会自动减1 |
incrby |
指定步长自增 |
Incrby 2 每次自增2 |
Decrby |
指定步长自减 |
Decrby 2每次减2 |
Expire |
指定key的失效时间单位是秒(s) |
EXPIRE name1 5 5秒后数据失效 |
Ttl |
查看key的剩余存活时间 |
Ttl name -2表示失效 -1没有失效时间 |
Pexpire |
设置失效时间(毫秒) |
Pexpire name 1000 用于秒杀业务 |
Persist |
撤销失效时间 |
撤销失效时间 |
hset |
Hset key值 属性名 属性值 |
Hset user id 1 Hset user name tom 设置id和name的属性值 |
hget |
获取指定 key的属性值 |
Hget user name 获取name属性值 |
hmset |
Hmset user key value1 key2 value2 |
hmset user id 1 name tom age 18 |
hmget |
hmget user id name age |
hmget user id name age 获取user对象的id,name,age的属性值 |
hgetall |
取出key的全部字段值和属性值 |
HGETALL user
|
hdel |
删除key的指定字段 |
删除key的指定字段 |
Hkeys |
查看key的全部字段 |
HKEYS user |
hvals |
查看key的全部值 |
Hvals user |
hlen |
查看key的字段数 |
Hlen user 查看user的字段数 |
memcache和redis的区别:
memcache是一个纯缓存的键值数据库,而Redis是一个非关系型的数据库。
两者的差异较大,却仍然大部分的人问二者的区别?因为很多人对Redis的应用,主要是和memcache一样,作为键值缓存数据库来用的。
要知道,Redis不仅仅是缓存数据库,接下来,我们要深入Redis的应用场景,探寻它能为我们来解决什么样的问题。
6大Redis应用场景