简述
Redis是一种高性能、key-value、基于内存也可持久化的日志型非关系型数据库,它是对关系型数据库的一个良好补充,通过简单的命令就可对数据进行存取和修改。
安装
- Windows版本,就下载这个版本: redis下载
- 解压,目录如下
- 打开redis服务器,命令行操作
redis-server.exe redis.windows.conf
配置
常规配置
#是否后台进行,默认否。窗口一关,服务器停止
daemonize no
#超时连接。300s后无客户端连接进来则自然断开
timeout 300
#主机
bind 127.0.0.1
#端口号
port 6379
#日志级别
loglevel verbose
#数据库数量
database 16
#是否需要密码
requirepass foobared
持久化配置
就是将位于内存的数据存放到磁盘中,这就涉及到一些情况,比如:何时同步,怎样同步,多久同步一次等等,根据持久化策略的不同,我们将redis同步方式分为了RDB、AOF。RDB
RDB,redis database。就类似于照快照,记录那一瞬间的数据,然后同步到磁盘里去,它恢复时直接将快照文件直接读到内存里,这是redis默认的持久化策略。其优点是快速,缺点是遇到意外情况比如断电就会丢失数据。#同步条件。多少秒内发生多少次改变就触发同步
save 900 1
save 300 10
save 60 10000
#持久化文件名字
dbfilename dump.rdb
#存放路径
dir ./
AOF
AOF,Append Of File。表示以命令的方式追加到磁盘中。即:无论读入还是读出,数据都是以命令的方式进行传输。其优点是数据完整,缺点就是速度慢,而redis存在的意义就是作为关系型数据库的良好补充,快速传输数据,所以这个缺点使得它与关系型数据库速度无异。当然,实际情况中,一般是两种持久化策略都在使用。#是否开启AOF持久化策略。是
appendonly yes
#配置文件的名字
appendfilename "appendonly.aof"
#配置文件路径
dir ./
#AOF的持久化策略:总是、每秒、不同步.建议everysenc,性能和速度折中
#appendsync always
appendsync everysec
#appendsync no
操作命令
redis有多种数据类型,常见有5种redis命令:String、Hash、List、Set、SortSet。结构模型
如下:
具体命令
- String
Hash
redis-cli.exe
hset user name 'simon'
hset user passwd '123456'
hset user age '25'
hgetall user
hkeys user
hvals user
hexists user username
hincrby user age 5
hmget user age
hmset user age '50'
hmset user age 40 name simon2
hsetnx user name 'ls'
List
redis-cli.exe
lpush num 1
lpush num 2
lpush num 3
lpush num 4
lpush num 5
lrange num 0 100
lpop num
llen num
lset num 2 90
linsert num 3 20
lrem num 3
Set
sadd name 'zs'
sadd name 'ls'
sadd name 'ww'
sadd name 'zl'
sadd name 'tq'
smembers name
sadd person 'libai'
sadd person 'steve bob'
sadd person 'zs'
sadd person 'ls'
sunion name person
sdiff name person
sdiffstore name person destination cross
smove name destination cross
srem name 2
sortSet
zadd body 1 23
zadd body 2 19
zadd body 3 10
zadd body 4 44
zcard body
zcard body 4
zincrby body 12 3
zrank body 3
客户端
命令行
Jedis