1 redis下载安装
redis 是一个基于内存的键值对数据库,支持多种数据结构,可以作为缓存使用。
读写性能极高,适合存储一些热点数据,例如在某一个时间点会有海量的请求来读取的数据。
官网: redis
中文网: redis中文网
redis安装包分为windows和linux两个版本。
windows
linux
这里以windows为例,有两种支持的安装方式
- msi 安装包,这种安装包就相当于安装一个桌面端的应用程序,一路“下一步”即可安装成功
- zip 压缩包,这种方式直接解压之后打开文件夹就可以使用,推荐使用zip压缩包,便捷。
2 redis启动
-
启动 这里以zip压缩包为例,我们打开zip压缩包(以下统称redis),右键打开powershell窗口输入 .\redis-server.exe redis.windows.conf 命令就可以启动redis服务了
如图:
-
客户端连接 这里我们在redis中再打开一个powershell窗口,输入 .\redis-cli.exe 命令按回车就可以连接上redis服务了
如图:
这个命令完整的命令是 .\redis-cli.exe -h 127.0.0.1 -p 6379
- -h 后面跟的是redis服务器的ip地址,
- -p 后面跟的是端口号
3 修改密码
redis默认是不需要密码就可以连接服务的,这是一种非常不安全的做法,为了安全起见,我们可以自己去设置一下redis的密码。
- 使用vscode等编辑器打开redis.windows.conf文件,找到requirepass 这一行,把前面的#去掉,后面的值改成自己想设置的密码(因为配置文件较大,我们可以使用ctrl+f搜索requirepass)。
如果将这一行注释掉就相当于取消密码了。 - 修改完密码之后点击保存即可。
- 重启redis服务,连接服务时需要在命令中加入一个 -a 参数,后面跟上自己所设置的密码。如果不加密码按回车之后是没有提示的,只有当你需要开始操作数据库中的数据时才会提示需要密码。
如图:
4 数据类型
redis支持五种数据类型(redis中数据key只能是字符串):
- 字符串 string
- 列表 list 类似于java中的LinkedList
- 集合 set 类似于java中的hashset
- 哈希 hash 类似于java中的hashmap
- 有序集合 zset 类似于java中的TreeMap
5 数据操作命令
- 字符串 string
set ket value # 设置key对应的值为value
get key # 获取key对应的值
setex key time value # 设置key对应的值为value,并且设置过期时间,过期之后数据就会被清除
setex key value # 设置key对应的值为value,并且必须是key不存在时
- 哈希 hash
hset key filed value # 设置key对应的哈希表中field字段的值为value
hget key filed # 获取key对应的哈希表中field字段的值
hdel key filed # 删除key对应的哈希表中field字段的值
hkeys key # 获取key对应的哈希表中所有的field字段
hvals key # 获取key对应的哈希表中所有的value值
- 列表 list
lpush key value # 将value插入到列表key的表头
lrange key start end # 获取列表key中start到end之间的值
rpop key # 移除列表key的最后一个元素,并返回该元素的值
llen key # 获取列表key的长度
- 集合 set
sadd key value # 将value添加到集合key中
smembers key # 获取集合key中的所有元素
scard key # 获取集合key中的元素个数
sinter key1 key2 # 获取两个集合的交集
sunion key1 key2 # 获取两个集合的并集
srem key value # 移除集合key中的value元素
- 有序集合 zset
zadd key score value # 将value添加到有序集合key中,并设置score值
zrange key start end # 获取有序集合key中start到end之间的值
zincrby key increment value # 将有序集合key中value的score值增加increment
zcard key # 获取有序集合key中的元素个数
zscore key value # 获取有序集合key中value的score值
zrem key value # 移除有序集合key中的value元素
6 通用命令
keys * # 获取所有key
keys pattern # 获取所有key中匹配pattern的key
type key # 获取key对应的值的类型
del key # 删除key
exists key # 判断key是否存在