Redis简介
Redis是一款开源的,高性能的,存储key-value数据结构的缓存数据库,相比较于其他缓存数据库而言,Redis有以下优势:
- Redis支持数据的持久化,可以将数据持久化到硬盘中,服务器重启后可以重新加载到Redis数据库中。
- Redis不仅仅支持String类型的数据,还支持Hash,List,Set,Zset等数据结构的存储。
- Redis支持数据备份。
- Redis读写性能极高,根据官方测试数据,Redis读速度为11万次/秒,写速度为8.1万次/秒。
- Redis的操作具有原子性,即要么命令执行成功,要么命令执行失败,即便是多组命令,也可以通过MULTI和EXEC指令包起来,实现原子性。
Redis安装
Redis官网:https://redis.io/
不过需要注意的是,Redis官网中只有tar.gz格式的安装包,如果你是Windows操作系统,那么你需要到github上下载Windows操作系统的安装包。
github下载地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
安装包下载完成之后,直接在安装目录下解压缩即可。
Redis启动
我们先来看看Redis解压缩之后的目录结构,其中我们需要关注的有两个执行文件。
我们先双击redis-server.exe执行文件。
记住,不要关闭这个命令窗口界面,因为关闭这个窗口就相当于关闭服务器,我们把这个窗口最小化即可。
然后我们再双击redis-cli.exe执行文件。
如此,Redis就已经启动成功了,如果我们使用其他Redis客户端或API来操作Redis,那么只需要启动Redis的服务器就可以了,Redis的客户端可以不需要启动。
Redis数据结构
Redis是一个key-value型数据库,所有的数据都是以key-value结构存储在内存中的。
Redis的key类型全部都是String类型,即字符串。
Redis的value类型可以支持5中不同的数据类型:
- String(字符串):普通字符串
- Hash(哈希):Map结构
- List(列表):linkedList结构,支持重复元素
- Set(集合):不允许重复元素
- Zset(有序集合):sortedSet,支持重复元素,且元素有序
Redis常用命令
通用命令
- keys * : 显示所有的key值
- type key :显示key对应的value的类型
- del key :删除指定的key和value
字符串类型(String)命令
- 存储:set key value
- 获取:get key
- 删除:del key
哈希类型(hash)命令
- 存储:hset key field value
- 获取:
hget key field:获取指定的field对应的值 hgetall key:获取所有的field和value
- 删除:hdel key field
列表类型(list)命令
- 添加:
lpush key value :将元素加入列表的左边
rpush key value:将元素加入列表的右边 - 获取:lrange key strart end:范围获取
【注意】lrange命令索引从0开始,返回[strart,end]闭区间,end取-1则获取从strart开始至结尾的全部元素。 - 删除:
lpop key:删除列表最左边的元素,并将元素返回
rpop key:删除列表最右边的元素,并将元素返回
集合类型(set)命令
- 存储:sadd key value:
- 获取:smembers key :获取set集合中的所有元素
- 删除:srem key value:删除set集合中的某个元素
有序集合类型(sortedset)命令
- 存储:zadd key score value:score为排序分数
- 获取:zrange key start end:如果要显示score的值,就在后面加withscores
- 删除:zrem key value