内容简介
开发时为了方便操作,通常还是需要在自己电脑上下载一个redis
从官网下载得到的windows10环境的redis,下载后只需要解压后就可以使用,使用时执行的是给出的脚本文件
这里以redis-5.0为例,记录了本人下载使用redis的过程
1.官网下载
下载可以参考github关于redis的介绍或者redis官网
这是一个免安装版,当前最新的稳定版下载得到:Redis-x64-5.0.9.zip
然后解压并放到一个自定义的位置
这里指定位置:D:\JavaLibraries\Redis-x64-5.0.9
2.在cmd窗口中使用Redis
使用redis,需要按顺序来,通过根目录Redis-x64-5.0.9
两个exe程序来控制
先启动服务器redis-server.exe
,然后再启动客户端redis-cli.exe
# 在cmd窗口要先切换到redis目录
cd /d D:\JavaLibraries\Redis-x64-5.0.9
# 使用以下命令启动服务器
redis-server.exe redis.windows.conf
#启动服务器的窗口不要关闭,在一个新的cmd窗口使用以下命令运行客户端
#先进入redis根目录
cd /d D:\JavaLibraries\Redis-x64-5.0.9
#启动客户端
redis-cli.exe
#以上默认使用的是以下缺省参数启动客户端
#redis-cli.exe -h 127.0.0.1 -p 6379
3.配置redis环境变量
redis环境变量不是必须的,只不过是为了使用命令方便,才把redis目录加入电脑的Path路径中
D:\JavaLibraries\Redis-x64-5.0.9\
这样在cmd窗口就可以直接使用命令(redis.windows.conf可以省略):
#直接使用命令启动redis服务器:redis-server.exe
#启动后默认使用的配置文件是:redis.windows-service.conf
C:\Users\Lenovo>redis-server.exe
[18920] 19 Jan 14:42:56.824 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[18920] 19 Jan 14:42:56.826 # Redis version=5.0.9, bits=64, commit=9414ab9b, modified=0, pid=18920, just started
[18920] 19 Jan 14:42:56.826 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server.exe /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.9 (9414ab9b/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 18920
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
[18920] 19 Jan 14:42:56.833 # Server initialized
[18920] 19 Jan 14:42:56.834 * DB loaded from disk: 0.000 seconds
[18920] 19 Jan 14:42:56.834 * Ready to accept connections
上面能启动是因为已经配置了环境变量,注意可能会出现这样的问题:
#使用这个命令指定配置文件启动redis-server服务器,没有显示输出结果
C:\Users\Lenovo>redis-server.exe redis.windows.conf
C:\Users\Lenovo>redis-cli.exe
Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。
#这是可能是因为redis-server.exe是环境变量中查找出来的,命令带上参数导致找不到,
#解决办法:可以先切换到根目录再执行命令
C:\Users\Lenovo>cd /d D:\JavaLibraries\Redis-x64-5.0.9
D:\JavaLibraries\Redis-x64-5.0.9>
#切换到根路径再执行就正常了
D:\JavaLibraries\Redis-x64-5.0.9>redis-server.exe redis.windows.conf
[9704] 19 Jan 15:00:12.252 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[9704] 19 Jan 15:00:12.253 # Redis version=5.0.9, bits=64, commit=9414ab9b, modified=0, pid=9704, just started
[9704] 19 Jan 15:00:12.253 # Configuration loaded
4.在redis客户端使用redis命令
启动服务器后,再新打开一个客户端窗口,
#启动服务器后新打开窗口启动客户端,这样后面就可以使用redis命令
C:\Users\Lenovo>redis-cli
127.0.0.1:6379>
1.redis字符串
# 创建key-value
SET name "xiaoli"
# 取出key的值
GET name
# 取出字符串中的字符,get range 的缩写,后最后两个参数指定范围
GETRANGE name 0 3
# "xiao"
# 设置指定的key值,并返回key的旧值,当key不存在返回nil
GETSET name "xiaoming"
# "xiaoli"
2.redis哈希(hash)
redis hash是一个string类型key-value映射,适合存储对象
hash在内存中按照一个name对应多个key-value对来存储,简单来说就是存储一个字典值
# 创建一个名为userinfo的哈希映射,分别指定name,sex,age
HMSET userinfo name "xiaoli" sex "female" age 20
# 取出指定的哈希字段
HGET useinfo sex
# 取出所有的hash字段
HGETALL userinfo
# 修改指定字段
HSET userinfo name "zhagnsan"
# 删除指定的字段
HDEL userinfo sex
# 查看hash表中字段是否存在
HEXISTS userinfo sex
# 在hash表中增加一个字段
HINCRBYFLOAT userinfo wage 5000.0
# 获取所有值
HVALS userinfo
3.redis列表(List)
- redis列表是简单的字符串列表,按插入时的顺序排序
- 可以把元素添加到列表的头部或尾部
- 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)
# 创建一个列表并添加元素,LPUSH添加到头部
LPUSH users "xiaoli"
LPUSH users "zhangsan"
# RPUSH添加到尾部
RPUSH users "wang"
# 获取列表中指定范围的元素
LRANGE users 0 10
#1) "zhangsan"
#2) "xiaoli"
#3) "wang"
#Blpop 命令移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
# 从左边移除第一个元素,没有则等候100秒,超时返回nil
BLPOP users 100
# 从尾部移除一个元素,同上
BRPOP users 100
# 从头部移除一个元素并返回
LPOP users
# 从尾部移除一个元素并返回
RPOP users
# 添加多个元素
RPUSH users-2 "user-1" "user-2" "user-3"
# 获取列表长度
LLEN users-2
# Brpoplpush 从列表users中取出最后一个元素,并插入到另外一个列表users-2的头部
# 如果列表没有元素会阻塞列表,直到等待超时或发现可弹出元素为止
BRPOPLPUSH users users-2 100