文章目录
- 安装和初步
- 选择数据库
- 创建键值对
- 数据类型
安装和初步
安装
Redis是开源的跨平台非关系型数据库,特点是占用资源低、查询速度快。
首先,在Github上下载最新发布的Redis-xxxx.zip
压缩文件,下载之后解压,并将解压后的路径添加到环境变量,然后打开命令行,输入
redis-server
然后就会出现Redis的图标,并提示是否允许连接网络,然后Redis服务就开启了。
然后新开一个命令行,输入redis-cli
即可进入redis的命令行,由于redis基于TCP/IP协议,所以进入命令行后,前面显示的是IP地址和端口,默认127.0.0.1和6379。
redis-cli
127.0.0.1:6379>
输入ping
可以检测redis服务(即redis-server)是否开启,如果开启会得到一个pong
127.0.0.1:6379> ping
PONG
输入exit
可退出redis命令行。
选择数据库
Redis默认有16个数据库,分别由序号0到15来表示,默认操作的是0号数据库,通过select可以更改
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 0
OK
需要注意,在redis中
- 不支持自定义数据库名
- 不支持为每个数据库设置密码
- 数据库之间并非完全隔离的,有一些命令会对所有数据库有效,例如
flushall
会清空所有数据库的数据;如果只想清除档期那数据库,那么可用flushdb
创建键值对
Redis作为关系型数据库,其数据内容是以键值对的形式存储的,键和值之间的关系就如编程语言的变量名和变量值一样,通过set可以进行绑定,示例如下
127.0.0.1:6379> set micro "cold"
OK
127.0.0.1:6379> get micro
"cold"
上面的案例中,将字符串cold
绑定给了micro
,换言之"cold"是micro的值,而micro是"cold"的键。
exists
命令可以查询键是否存在,如果存在则返回1,否则返回0;通过keys *
可列举出所有符合要求的键,例如下面就通过keys命令,查找所有m开头的键,并找到了micro。
127.0.0.1:6379> exists micro
(integer) 1
127.0.0.1:6379> keys m*
1) "micro"
del可以删除键,示例如下,删除micro之后,exists函数返回0,而且数据库中就一个键也没有了。
127.0.0.1:6379> del micro
(integer) 1
127.0.0.1:6379> exists micro
(integer) 0
127.0.0.1:6379> keys *
(empty list or set)
数据类型
除了字符串之外,redis还支持哈希、列表、集合以及有序集合等数据结构。
其中,哈希即散列表,是一个键值对集合,可通过hmset
进行设置,通过hget
可以查找某个哈希表中的键对应的值。下面创建一个哈希表hashLst
,其内容用json的形式可表示为{"37":"21", "47":"28", "55":"25}"
127.0.0.1:6379> hmset hashLst "37" "21" "47" "28" "55" "25"
OK
127.0.0.1:6379> hget hashLst "37"
"21"
列表就是按照顺序存储的表,用lpush
创建,但需注意,其添加元素的顺序是从头添加,所以最后得到的顺序是相反的。
127.0.0.1:6379> lpush Lst "0" "1" "2" "3"
(integer) 4
127.0.0.1:6379> lrange Lst 0 4
1) "3"
2) "2"
3) "1"
4) "0"
集合是一个不允许存在相同元素的数据结构,可通过sadd
向其中添加元素,下面的实例中,添加了abcc四个元素,但由于两个c重复了,所以最终setTest只有3个元素。
127.0.0.1:6379> sadd setTest "a" "b" "c" "c"
(integer) 3
有序集合通过zadd
来添加元素,过程与集合雷同,就不展示了。
这五种数据类型的创建方法如下表所示。
数据类型 | 字符串 | 哈希 | 列表 | 集合 | 有序集合 |
---|---|---|---|---|---|
创建命令 | set | hmset | lpush | sadd | zadd |