Redis笔记
安装
官方推荐使用 Linux 去开发使用!
window
下载地址:https://github.com/tporadowski/redis/releases
下载 Redis-x64-xxx.zip压缩包 解压为 redis
在 redis 目录下,打开 CMD 输入 或者双击运行 redis-server.exe
redis-server.exe redis.windows.conf
在打开一个输入
redis-cli.exe -h 127.0.0.1 -p 6379
即可连接
Linux
redis-6.0.8.tar.gz
# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# 安装gcc-c++ 编译
yum instatll gcc-c++
# make
执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli
下面启动 redis 服务
# cd src
# ./redis-server
注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。
# cd src
# ./redis-server ../redis.conf
redis 默认安装路径 /usr/local/bin
Docker
拉取镜像
docker pull redis
启动 Redis
docker run -d -v $PWD/data:/data --name redis -p 6379:6379 redis redis-server --requirepass "123456" --appendonly yes
启动命令说明:
$PWD/data:/data
: 映射 redis 的 data 目录到当前目录下的 data 目录--requirepass
: 是设置 redis 的密码--appendonly yes
: 启用持久化存储
例如:
docker run -d -v /home/app/redis/data:/data --name redis -p 6379:6379 redis redis-server --requirepass "123456" --appendonly yes
如果需要使用配置文件,则需要做个文件映射;注意所在目录下必须要有 redis.conf 这个文件,否则将启动失败。
docker run -d -v /home/app/redis/data:/data -v /home/app/redis/conf:/usr/local/etc/redis --name redis -p 6379:6379 redis redis-server /usr/local/etc/redis/redis.conf
redis 的这个配置文件可以到官方的这个地址上去获取 http://download.redis.io/redis-stable
更多: Docker 上安装 Redis
基本命令
Redis 不区分大小写 一般推荐大写(与 Mysql 一样)
set key value
get key
keys * # 查看所有key
EXISTS key # 判断key 是否存在
type key # 查看key的value类型
EXPIRE key second # 设置key的过期时间,单位是秒
ttl key # 查看当前key 的剩余时间
五大数据类型
Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合)。
String
APPEND key '123' # 给key后面追加字符串123 如果key不存在 则为set 返回字符串长度
STRLEN key # 获取字符串长度
incr key # 自增1
decr key # 自减1
INCRBY key 10 # 递增10 指定增量
DECRBY key 10 # 递减10
GETRANGE key 0 3 # 截取字符串 0-3 包括3
GETRANGE key 0 -1 # 截取所有字符串
SETRANGE key 1 xxx # 替换指定位置的字符串
###########################################################################
setex (set with expire) # 设置过期时间
setnx (set if not exist) #