首页 > temp > 简明python教程 >
-
第一章 · 准备工作
第一章 · 准备工作
Redis安装
Redis5.0.7下载地址:https://redis.io/download
mac OS
在下载完redis-5.0.7.tar.gz后,我们通过命令tar -zxvf redis-5.0.7.tar.gz
,解压后将redis安装包拷贝到/usr/local
目录下,命令sudo mv redis-5.0.7 /usr/local
。
进入redis安装包目录后(cd /usr/local/redis-5.0.7
),执行命令安装sudo make install
。
出现以下信息表示安装成功:
okevindeMacBook-Air:redis-5.0.7 okevin$ sudo make install
cd src && /Library/Developer/CommandLineTools/usr/bin/make install
CC Makefile.dep
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
运行命令redis-server
启动redis。
okevindeMacBook-Air:redis-5.0.7 okevin$ redis-server
10768:C 08 Feb 2020 19:52:40.149 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
10768:C 08 Feb 2020 19:52:40.149 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=10768, just started
10768:C 08 Feb 2020 19:52:40.149 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
10768:M 08 Feb 2020 19:52:40.151 * Increased maximum number of open files to 10032 (it was originally set to 256).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 10768
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
10768:M 08 Feb 2020 19:52:40.152 # Server initialized
10768:M 08 Feb 2020 19:52:40.152 * Ready to accept connections
出现以上信息表示启动成功。
新打开一个终端窗口,输入命令redis-cli
测试连接redis服务。
okevindeMacBook-Air:redis-5.0.7 okevin$ redis-cli
127.0.0.1:6379>
出现以上信息表示已经可以通过命令行和redis服务交互了。
第二章 · 数据类型
Redis是一个“数据库”,当然它是一个基于缓存的非关系型数据库。
Redis一共有5种常用的数据类型:字符串(string)、列表(list)、哈希(hash)、集合(set)、有序集合(zset)。Redis是一个key-value形式的存储系统,key是一个“字符串”,而value对应的则是前面提到的5种数据类型。
在对Redis进行正式接触前,我们先来认识这5种数据类型。
字符串(string)
这是最常见和最容易理解的一种数据类型,它表示存储在redis中的值是一个“字符串”类型的数据。但实际上,它还能存储整型数据,后面我们将通过INCR
命令,对值进行自增操作。
列表(list)
列表(list)也可以理解为数组,和在Java中的List类型类似。略微不同的是,Java中的列表可以是泛型类型,也就是说Java中的List数据结构可以是字符串、整型等。而在redis中列表中的数据类型则只有字符串类型。
哈希(hash)
又称“散列”,这种数据类型类似于Java中的Map类型。初学者可能会疑惑,前面的“字符串”类型,一个key一个value不就是Map类型么。
实际上,在本文开头提到,redis是一种key-value形式的存储系统,我们所说的redis数据类型指的是value的数据类型。所以哈希(hash)也就是value是类似Map的一种数据类型。在后面的章节中我们会更直观的感受到。
集合(set)
set类型在redis中被称为集合,同样它和Java的Set集合相同。和redis的列表(list)类似,不同地是,列表(list)的数据是可以重复的且是插入有序,而集合(set)中的数据是不可重复的且是无序。
有序集合(zset)
有序集合(zset)尽管看起来是集合(set)类型多了“有序”的特性。但实际上,可以说它和哈希(hash)更相似。因为它和哈希(hash)一样也是Map类型,不同地是它的key是实际上的成员,而value则是用于排序的“分值”。这个特性能帮助我们快速的实现“点赞数最高倒序排列”等功能。