Redis安装使用
2017-10-06 16:54
363 查看
Redis安装使用
下载地址
https://pan.baidu.com/s/1eR4yYI2#list/path=%2F%E5%88%86%E4%BA%AB%2FLinux%2FRedis&parentPath=%2F%E5%88%86%E4%BA%ABRedis简介
说明1.也是类似于memcached的Key-Value存储机制 2.是非关系型数据库的一种 3.官网:redis.io,中文网:redis.cn
特点
1.能够持久化存储数据 2.支持更多的数据类型 3.支持集群,主从同步
优点
1.具有memcached的所有特征,但是比其更强大,是超级增强版的memcached 2.可以做到数据的安全存储,能够进行持久化存储,支持事务 3.拥有更多的数据类型,可以进行复杂的运算 4.可以胜任memcached不能完成的更加复杂的业务场景
Redis安装
解压:tar -zxvf redis-4.0.1.tar.gz复制:cp -R redis-4.0.1 /usr/local/redis
进入:cd /usr/local/redis
安装:make install
服务:
cd /usr/local/redis/src,该目录下有两个可执行文件,若有必要可以将改目录添加到$PATH环境变量中 客户端:redis-cli 服务端:redis-server 启动测试:./redis-server #默认不会后台执行,需要修改配置文件
修改配置
cd /usr/local/redis cp redis.conf redis_6379.conf #拷贝配置文件 修改配置文件redis_6379.conf为:daemonize yes #后台执行 cd utils #进入目录 cp redis_init_script redis_init_script_6379 #拷贝启动脚本 修改启动脚本redis_init_script_6379如下: REDISPORT=6379 EXEC=/usr/local/redis/src/redis-server CLIEXEC=/usr/local/redis/src/redis-cli CONF="/usr/local/redis/redis_${REDISPORT}.conf" ./redis_init_script_6379 start #启动服务
开机启动
修改用户开机启动配置文件:/etc/rc.local /usr/local/redis/utils/redis_init_script_6379 start
服务测试
1.查看进程:ps aux | grep redis 2.使用客户端连接 /usr/local/redis/src/redis-cli 连接参数: --help:获取帮助 -h:指定主机 -p:指定端口号 -a:指定密码 redis-cli [-h 127.0.0.1] [-p 6379] 127.0.0.1:6379> ping PONG quit #退出 3.密码管理,默认是没有密码的,使用密码有以下两种方式 1.单次有效,通过命令设置 获取密码:config get requirepass 设置密码:config set requirepass 123456 密码授权:auth 123456 2.永久生效,修改配置文件 /usr/local/redis/redis_6379.conf requirepass 123456 说明:不指定密码也可以连接成功,但是什么权限都没有
Redis命令
常用:ping:测试连接情况,返回PONG表示正常 quit:退出 auth:指定密码 select:选择库,总共16个,0~15,默认在第0个 info:查看服务器信息 command:查看能够使用的命令 flushdb:清空当前库 flushall:清空所有库 save:前台持久化操作 bgsave:后台持久化操作 exists:判断键是否存在 del:删除指定的键
字符串(string)
get:获取 set:设置 getset:获取后设置 mset:设置多个 mget:获取多个 incr:递增(加1) incrby:指定幅度的递增 incrbyfloat:指定幅度的递增一个浮点数 decr:递减(减1) decrby:指定幅度的递减 append:追加
哈希(hash)
hdel:删除 hexists:判断是否存在 hget:获取 hgetall:获取所有 hkeys:获取所有的键 hvals:获取所有的值 hlen:获取数量 hset:设置 hmget:获取多个 hmset:设置多个
列表(list)
lpush:从左边插入数据 lrange:显示某个范围内的数据,lrange m6 0 -1,表示显示全部数据 lpop:从左边弹出数据 rpush:从右边插入数据 rpop:从右边弹出数据 llen:显示个数
无序集合(set):不能重复
sadd:添加数据 scard:个数统计 sdiff:计算差集 sinter:计算交集 sismember:判断数据是否在集合中 smembers:返回所有元素 smove:移动元素 spop:随机移除元素,可以指定个数 srandmember:随机返回一个元素,但是不移除 srem:移除元素
有序集合(sorted set)
zadd:添加元素 zcard:统计元素 zcount:指定区间统计 zrange:返回索引区间内的值 。。。。
安装phpredis
解压:unzip phpredis-php7.zip 进入:cd phpredis-php7 解压:phpize 配置:./configure --with-php-config=/usr/local/php7/bin/php-config 编译:make 安装:make install 修改php配置文件:将上一步编译的动态库添加到/usr/local/php7/etc/php.ini extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/redis.so 重启PHP服务:service php-fpm restart 测试:写一个phpinfo(),查看是否有redis扩展 代码测试: <?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth('123456'); $redis->set('test','ok'); 可以参考github或提供的中文手册
持久化存储
redis持久化存储有两种方式:RDB和AOF。RDB是写存储文件,AOF是将执行的命令记录到文件中;若没有进行持久化操作,redis与memcached是一样的,相当于基于内存数据库。RDB,Redis DataBase,将数据写入临时文件,做持久化操作时将临时文件替换原有的。
优点:持久化操作会单独启动一个子进程,主进程不会对其有任何IO,可以保证数据的安全可靠 缺点:持久化操作是有间隔的,那么在此期间出现问题,可能会导致数据的丢失。因此,该方式不严谨 配置: dbfilename dump.rdb #保存的数据库 dir ./ #保存位置 save 900 1 #更改了1个key,900秒后自动持久化存储 save 300 10 #更改了10个key,300秒后自动持久化存储 save 60 10000 #更改了10000个key,60秒后自动持久化存储 说明:使用save进行save进行前台保存,使用bgsave进行后台保存,重启服务即可从dump.rdb中恢复数据
AOF,Append Only File,是将执行的命令记录下来,重新执行命令即可完成数据恢复
优点:可以保持更高的数据完整性 缺点:AOF比RDB文件大得多,且恢复慢 配置: appendonly yes #开关,默认是关闭的 appendfilename "appendonly.aof" #保存文件 appendfsync everysec|always|no #同步频率,每秒|立即|从不(完全依赖OS) 自动重写配置:两个条件同时满足才会触发AOF重写操作 auto-aof-rewrite-percentage 100 #新命令占原文件的百分比 auto-aof-rewrite-min-size 64mb #本次重写的最小数据量 手动重写:bgrewriteaof 说明:数据恢复时首先从AOF,若没有开启则从RDB中恢复,两者同时使用没有冲突
Redis保存Session
session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379?auth=123456" 说明:auth是有密码才需要,若有多台服务器,可以使用weight参数指定权重
Redis主从复制
主机配置: #bind 127.0.0.1 #注释掉 从机配置: slaveof 主机IP 主机端口 masterauth 主机li连接密码
Redis与Memcached对比
对比项 | memcached | redis |
---|---|---|
持久化存储 | 不支持 | 支持 |
库支持 | 不支持 | 支持 |
数据类型 | 简单 | 多种 |
主从复制 | 不支持 | 支持 |
集群 | 不支持 | 支持 |
事务 | 不支持 | 支持 |
线程 | 多线程 | 单线程 |
最大item | 最小1K,最大128M,默认1M | 512M |
最大Key | define KEY_MAX_LENGTH 250 | 512M |
相关文章推荐
- Redis在windows下的安装使用
- PHP安装redis扩展模块及常使用方法
- 在 Ubuntu 下安装 Redis 并使用 init 脚本启动
- Redis在windows的安装使用
- Redis在windows下的安装使用
- redis安装及使用+常用命令
- redis安装配置及使用【转】
- redis的安装配置使用(一)
- Redis的安装及使用
- redis的安装配置使用(二) jedis访问
- Redis安装与使用
- Redis安装使用
- redis 安装使用与配置
- Redis安装和使用示例
- Redis 安装使用(一)
- windows下安装redis 缓存程序的安装和使用
- redis安装和使用
- redis的安装配置使用(一)
- Redis在windows下的安装使用
- Redis在windows的安装使用