安装:
- 00.下载(可选)
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
- 0.解压
tar zxvf redis-3.2.5.tar.gz
- 1.复制:推荐放到usr/local目录下
sudo mv ./redis-3.2.5/* /usr/local/redis
- 2.进入redis目录
cd /usr/local/redis/
- 3.生成
sudo make
- 4.测试
sudo make test
5.安装:将redis的命令安装到/usr/local/redis/目录
sudo make install建文件夹
sudo mkdir /var/lib/redis
sudo mkdir /var/log/redis
sudo touch /var/log/redis/redis-server.log
配置:
- 在源文件/usr/local/redis目录下,文件redis.conf为配置文件
绑定地址:如果需要远程访问,可将此行注释bind 127.0.0.1
- 是否以守护进程运行,推荐改为yes,
daemonize yes
- 数据文件
dbfilename dump.rdb
- 数据文件存储路径
dir的默认值为./,表示当前目录
推荐改为:dir /var/lib/redis/
- 日志文件
默认值为‘ ’
推荐改为:logfile /var/log/redis/redis-server.log
- 数据库个数
默认16个 0-15
database 16
- 主从复制,暂时不配置
slaveof
使用配置文件方式启动:
- 一般配置文件都放在/etc/目录下
sudo mkdir /etc/redis
sudo cp /usr/local/redis/redis.conf /etc/redis/
- 推荐指定配置文件启动
sudo redis-server /etc/redis/redis.conf
- 停止redis服务
ps aux | grep redis
sudo kill -9 redis的进程id
- 查看6379端口号是否被占用
sudo netstat -lntp | grep 6379
数据操作
string
设置:
- 启动客户端
redis-cli
- 设置键值
set key value
- 设置键值及过期时间,以秒为单位
setex key seconds value
- 设置多个键值
mset key value [key value ...]
- 启动客户端
获取:
- 根据键获取值,如果不存在此键则返回nil
get key
- 根据多个键获取多个值
mget key [key ...]
- 根据键获取值,如果不存在此键则返回nil
运算:(要求:值是数字)
- 将key对应的value加1
incr key
- 将key对应的value加整数
incrby key increment
- 将key对应的value减1
decr key
- 将key对应的value减整数
decrby key decrement
- 将key对应的value加1
其它:
- 追加值
append key value
- 获取值长度
strlen key
- 追加值
键命令:
- 查找键,参数支持正则
keys pattern
- 判断键是否存在,如果存在返回1,不存在返回0
exists key [key ...]
- 查看键对应的value的类型
type key
- 删除键及对应的值
del key [key ...]
- 设置过期时间,以秒为单位
expire key seconds
- 查看有效时间,以秒为单位
ttl key
hash:
设置
- 设置单个属性
hset key field(name) value
- 设置多个属性
hmset key field value [field value ...]
- 设置单个属性
获取
- 获取一个属性的值
hget key field
- 获取多个属性的值
hmget key field [field ...]
- 获取所有属性和值
hgetall key
- 获取所有的属性
hkeys key
- 返回包含属性的个数
hlen key
- 获取所有值
hvals key
- 获取一个属性的值
其它
- 判断属性是否存在
hexists key field
- 删除属性及值
hdel key field [field ...]
- 返回值的字符串长度
hstrlen key field
- 判断属性是否存在
list
设置
- 在头部插入数据
lpush key value [value ...]
- 在尾部插入数据
rpush key value [value ...]
- 在一个元素的前|后插入新元素
linsert key before|after 列表中的值 要插入的值
- 指定下标修改值
lset key 下标 value
- 在头部插入数据
获取
- 获取所有值
lrange key start stop
- 移除并且返回 key 对应的 list 的第一个元素
lpop key
- 移除并返回存于 key 的 list 的最后一个元素
rpop key
- 获取所有值
其它
- 裁剪列表
ltrim key start stop
- 返回存储在 key 里的list的长度
llen key
- 返回列表里索引对应的元素
lindex key index(下标)
- 裁剪列表
set
设置
- 添加元素
sadd key member [member ...]
- 添加元素
获取
- 返回key集合所有的元素
smembers key
- 返回集合元素个数
scard key
- 返回key集合所有的元素
其它
- 求多个集合的交集
sinter key [key ...]
- 求某集合与其它集合的差集
sdiff key [key ...]
- 求多个集合的合集
sunion key [key ...]
- 判断元素是否在集合中
sismember key member
- 求多个集合的交集
zset
设置
添加元素
zadd key score member [score member ...]
获取
- 返回指定范围内的元素
zrange key start stop
- 返回元素个数
zcard key
- 返回有序集key中,score值在min和max之间的成员
zcount key min max