Redis默认配置

389 阅读4分钟

Redis配置

一般redis是使用的/redis/src/redis.conf的默认配置
开始使用自定义配置

1.在redis目录下建立bin,etc,db三个目录
sudo mkdir /usr/local/redis/bin
sudo mkdir /usr/local/redis/etc
sudo mkdir /usr/local/redis/db

2.把/usr/local/redis/src目录下的
mkreleasehdr.sh
redis-benchmark
redis-check-rdb
redis-cli
redis-server
拷贝到bin目录

cp /usr/local/redis/src/mkreleasehdr.sh .
cp /usr/local/redis/src/redis-benchmark .
cp /usr/local/redis/src/redis-check-rdb .
cp /usr/local/redis/src/redis-cli .
cp /usr/local/redis/src/redis-server .

拷贝redis.conf到/usr/local/redis/etc下
cp /usr/local/redis/redis.conf /usr/local/redis/etc

#修改为守护模式
daemonize yes
#设置进程锁文件
pidfile /usr/local/redis-3.2.8/redis.pid
#端口
port 6379
#客户端超时时间
timeout 300
#日志级别
loglevel debug
#日志文件位置
logfile /usr/local/redis/log-redis.log
#设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save <seconds> <changes>
#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
#可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名
dbfilename dump.rdb
#指定本地数据库路径
dir /usr/local/redis-3.2.8/db/
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
#的数据会在一段时间内只存在于内存中
appendonly no
#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec

启动服务
./bin/redis-server etc/redis.conf
查看日志
tail -f log-redis.log
执行redis命令
./bin/redis-cli

基本命令

设置值

1.设置键值
set [key] [value]
eg: set name yuhuan

2.设置键值及过期时间以及秒为单位
setex [key] [seconds] [value]
eg:setex name 10 yuhuan

3.设置多个键值
mset [key][value]  [key][value]
eg:mset name yuhuan age 18 score 100

获取值

1.根据键获取值,如果键不存在则返回None(null 0 nil)
get [key]
eg:get name

2.根据多个键获取多个值
mget key [key1] [key2]
eg:mget name age score

运算命令(前提条件:值是字符串类型的数字)

1.将key对应的值加一
incr [key]
eg:incr score

2.将key对应的值减一
decr [key]
eg:decr score

3.将key对应的值加整数
incrby [key] intnum
eg:incby score 100

4.将key对应的值减整数
decrby [key] intnum
eg:decrby score 100

其他常用命令

1.追加值
append [key] [value]
eg:append name lucky

2.获取值长度
strlen [key]
eg:strlen name

Keys常用命令

1.查找键,参数支持正则
keys pattern

2.判断键是否存在,存在返回1,不存在返回0
exists key

3.查看键对应的value类型
type key

4.删除键及对应的值
del key [key1] [key2]

5.设置过期时间,以秒为单位
expire key seconds

6.查看有效时间,以秒为单位
ttl key

集合(Set)是String类型的无序集合,不能出现重复的数据,唯一性。

1.添加元素
sadd key member [value1] [value2]
sadd setMap name1 name2 name3

2.返回key集合中所有元素
smembers key
smembers setMap

3.返回集合元素个数
scard key
scard setMap

4.求多个集合的交集
sinter key [key1] [key2]
sinter setMap set2

5.求多个集合的差集
sdiff key [key1] [key2]
sdiff setMap setMap2

6.求多个集合的合集
sunion key [key1] [key2]
sunion setMap setMap2

7.判断元素是否在集合中,存在返回1,不存在返回0
sismember key value
sismember setMap name1

有序集合

有序集合,元素类型为Sting,元素具有唯一性,不能重复 每个元素都会关联一个double类型的score(表示权重),通过权重的大小排序,元素的score可以相同

1.添加
zadd key score member [score member ……]
zadd slist 1 a 5 b 3 c 2 d 4 e

2.返回指定范围的元素
zrange key start end
zrange slist 0 2

3.返回元素个数
zcard key
zcard slist

4.返回有序集合key中,score在min和max之间的元素的个数
zcount key min max
zcount slist 1 3

5.返回有序集合key中,成员member的score值
zscore key member
zscore slist e