Redis安装教程(Linux和windows)持续更新
一、Linux环境部署redis单节点
一、安装
1、上传redis安装包,并解压
tar -xvf redisxxxx.tar.gz
2、进入redis根目录,执行make命令,编译文件
cd redis/
make
3、编译成功后,安装redis服务
make install
二、修改配置
1、修改配置文件redis.conf(视情况修改配置)
建议备份redis.conf原始文件,再修改
cp redis.conf redis.conf.back
一般修改以下配置,具体选择或者增加视需求而定
a.去除IP绑定: #bind 127.0.0.1(69行)
b.关闭保护模式: protected-mode no(88行)
c.开启后台启动: daemonize yes(136行)
2、若需要配置多端口启动,需要进行以下操作
若需要一台服务器启动2个端口的redis,相当于启动2台redis,需要再复制一份配置文件redis_6380.conf
cp redis.conf redis_6380.conf
修改 redis_6380.conf,(若没有以下参数则不需要修改)
1.pidfile /var/run/redis_6380.pid
2.port 6380
3.logfile /var/log/redis6380-server.log
4.dbfilename dump6380.rdb
三、启动redis
- 启动脚本在redis的src目录下:cd src/
- 启动6379端口的redis: ./redis-server …/redis.conf
- 启动6380端口的redis: ./redis-server …/redis_6380.conf
- 查看2个端口的redis是否启动成功:ps -ef | grep redis
四、Redis常用命令
1、String类型
命令 | 说明 | 例子 |
---|
set | 添加key-value | set name lijinwei | get | 根据key获取数据 | get name | strlen | 获取key的长度 | strlen key | del | 删除redis中的key | del key | Keys | 用于查询符合条件的key | keys * 查询redis中全部的key keys n?me 使用占位符获取key keys nam* 获取nam开头的key | mset | 赋值多个key-value | mset key1 value1 key2 value2 key3 value3 | mget | 获取多个key的值 | mget key1 key2 key3 | append | 对某个key的值进行追加 | append key value | type | 检查某个key的类型 | type key | select | 切换redis数据库 | select 0-15 redis中共有16个数据库 | flushdb | 清空单个数据库 | flushdb | flushall | 清空全部数据库 | flushall | incr | 自动加1 | incr key | decr | 自动减1 | decr key | incrby | 指定数值添加 | incrby key 10 | decrby | 指定数值减 | decrby key 10 | expire | 指定key的失效时间 单位秒 | expire key 20 | pexpire | 指定key的失效时间 单位毫秒 | pexpire key 2000 key | ttl | 检查key的剩余存活时间 | ttl key | persist | 撤销key的失效时间 | persist key | exists | 判断key是否存在,返回1存在,0不存在 | exists name |
2、Hash类型
命令 | 说明 | 例子 |
---|
hset | 为对象添加数据 | hset key field value | hget | 获取对象的属性值 | hget key field | hexists | 判断对象的属性是否存在,1表示存在 0表示不存在 | hexists key field | hdel | 删除hash中的属性 | hdel user field [field …] | hgetall | 获取hash全部元素和值 | hgetall key | hkeys | 获取hash中的所有字段名称 | hkeys key | hlen | 获取hash中所有属性的数量 | hlen key | hmget | 获取hash里面指定字段的值 | hmget key field [field …] | hmset | 为hash的多个字段设定值 | hmset key field value [field value …] | hsetnx | 设置hash的一个字段,只有当这个字段不存在时有效 | hsetnx key field value | hstrlen | 获取hash中指定key的属性的长度 | hstrlen key field | hvals | 获取hash的所有值 | hvals user |
3、List类型
说明:Redis中的List集合是双端循环列表,分别可以从左右两个方向插入数据。
- List集合可以当做队列使用,也可以当做栈使用
- 队列:存入数据的方向和获取数据的方向相反
- 栈:存入数据的方向和获取数据的方向相同
命令 | 说明 | 例子 |
---|
lpush | 从队列的左边入队一个或多个元素 | lpush key value [value …] | rpush | 从队列的右边入队一个或多个元素 | rpush key value [value …] | lpop | 从队列的左端出队一个元素 | lpop key 数量 | rpop | 从队列的右端出队一个元素 | rpop key 数量 | lpushx | 当队列存在时从队列的左侧入队一个元素 | lpushx key value | rpushx | 当队列存在时从队列的右侧入队一个元素 | rpushx key value | lrange | 从列表中获取从左开始指定下标返回的元素 | Lrange key 0 -1 | lrem | 从存于 key 的列表里移除前 count 次出现的值为 value 的元素。 这个 count 参数通过下面几种方式影响这个操作:· count > 0: 从头往尾移除值为 value 的元素。· count < 0: 从尾往头移除值为 value 的元素。· count = 0: 移除所有值为 value 的元素。 | LREM list -2 “hello” 会从存于 list 的列表里移除最后两个出现的 “hello”。需要注意的是,如果list里没有存在key就会被当作空list处理,所以当 key 不存在的时候,这个命令会返回 0。 | lset | 设置 index 位置的list元素的值为 value | lset key index value |
4、Set类型
命令 | 说明 | 例子 |
---|
scard | 查询set集合的长度 | scard key |
|