Redis简介
- Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
- Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色
Redis特性
- Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis 优势
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Mac下安装的详细步骤及使用
官网地址:http://redis.io/
1、将下载下来的tar.gz 压缩解压,拷贝到usr/local目录下,该目录需要root权限
命令:
step1:下载 redis-3.2.8.tar.gzstep2:解压tar -zxvf redis-3.2.8.tar.gzstep3:复制,放到usr/local⽬录下:sudo mv ./redis-3.2.8 /usr/local/redis/step4:进⼊redis⽬录:cd /usr/local/redis/step5:生成:sudo makestep6:测试,这段运⾏时间会较⻓:sudo make teststep7:安装,将redis的命令安装到/usr/local/bin/⽬录:sudo make install
至此,安装已完成、不过还需将redis配置一下
2、 redis 配置
(1). 在 /usr/local 目录创建 bin, etc 两个文件夹,在 redis 目录下创建 db 文件夹
sudo mkdir /usr/local/bin
sudo mkdir /usr/local/etc
sudo mkdir /usr/local/redis/db
sudo touch /usr/local/redis/redis-server.log
(如果目录已存在,上述命令请忽略,下图可以查看,或者用命令 cd /usr/local查看文件是否存在)
(2). 将 /usr/local/redis/src 目录下的 mkreleasehdr.sh, redis-benchmark, redis-check-rdb, redis-cli, redis server 拷贝至 /usr/local/bin 目录
sudo cp /usr/local/redis/src/mkreleasehdr.sh /usr/local/bin
sudo cp /usr/local/redis/src/redis-benchmark /usr/local/bin
sudo cp /usr/local/redis/src/redis-check-rdb /usr/local/bin
sudo cp /usr/local/redis/src/redis-cli /usr/local/bin
sudo cp /usr/local/redis/src/redis-server /usr/local/bin
(3). 将 redis.conf 拷贝至目录 etc
sudo cp /usr/local/redis/redis.conf /usr/local/etc
(4). 修改 redis.conf
进入redis/etc目录下创建redis.conf配置文件
sudo vim redis.conf
修改 redis.conf,如下内容
#修改为守护模式
daemonize yes
#设置进程锁文件
pidfile /usr/local/redis/redis.pid
#端口
port 6379
#客户端超时时间
timeout 300
#日志级别
loglevel debug
#日志文件位置
logfile /usr/local/redis/redis-server.log
#设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id
databases 8
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save
#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
#可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名
dbfilename dump.rdb
#指定本地数据库路径
dir /usr/local/redis/db/
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
#的数据会在一段时间内只存在于内存中
appendonly no
#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
(以上请在 redis.conf 搜索并依次修改,也可以找到该文件,以文档的形式打开修改)
(5). 启动服务
sudo redis-server /usr/local/etc/redis.conf
(6). 查看日志
tail -f /usr/local/redis/redis-server.log
(7). 关闭服务
redis-cli shutdown
使用
准备工作:启动redis后才可以执行后面内容(sudo redis-server /usr/local/etc/redis.conf)
1.访问redis根目录 cd /usr/local/redis
2.登录redis:redis-cli -h 127.0.0.1 -p 6379
3.查看所有key值:keys *
4.删除指定索引的值:del key
5.清空整个 Redis 服务器的数据:flushall
6.清空当前库中的所有 key:flushdb
命令大全:
Redis命令十分丰富,包括的命令组有Cluster、Connection、Geo、Hashes、HyperLogLog、Keys、Lists、Pub/Sub、Scripting、Server、Sets、Sorted Sets、Strings、Transactions一共14个redis命令组两百多个redis命令Redis中文命令大全, 可以通过检索功能快速查找命令查看网站结构图,它以节点图的形式展示了所有redis命令
String
- String是redis最基本的类型,最大能存储512MB的数据
- String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等