一.redis的介绍
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
特点:
1.断电数据丢失
2.服务器停止数据丢失
3.redis服务停止数据丢失
二.redis安装
方法一:yum安装
yum install redis -y
方法二:编译安装
# 拉取redis安装包
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
# 解压
tar -xzvf redis-5.0.0.tar.gz
# 进入解压目录
cd redis-5.0.0
# 编译安装(默认按照到/usr/local/bin下面)
make && make install
三.redis相关配置
1.创建一个专门存放redis配置文件的目录并配置
# /opt/redis_conf/redis_6379.conf
# 配置文件内容如下
# 声明端口
port 6379
# 表示后台启动
daemonize yes
# 将pid文件放到某目录下
pidfile /data/6379/redis.pid
# 日志级别和日志目录
loglevel notice
logfile "/data/6379/redis.log"
# 持久化相关
# dir /data/6379
# 安全模式
protected-mode yes
# 密码设置
# requirepass hsz
2.配置及启动redis
# 配置步骤
# 编辑redis配置文件
[root@node redis_conf]# vi redis_6379.conf
[root@node redis_conf]# redis-server /opt/redis_conf/redis_6379.conf
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 9
>>> 'logfile "/data/6379/redis.log"' # 这边提示没有这个目录
Can't open the log file: No such file or directory
# 创建存放redis日志目录
[root@node redis_conf]# mkdir -p /data/6379/
# 指定redis的配置文件的情况下启动redis
[root@node redis_conf]# redis-server /opt/redis_conf/redis_6379.conf
# 进入redis
[root@node redis_conf]# redis-cli
127.0.0.1:6379> exit
[root@node redis_conf]#
如果想要启动多个redis数据库,只要在配置一个配置文件,以之前redis不同端口,然后使用:
redis-server redis配置文件目录
的命令即可
四.redis基本使用
127.0.0.1:6379> set name zero
OK
127.0.0.1:6379> mset name2 one
OK
127.0.0.1:6379> mset name3 three name4 four
OK
127.0.0.1:6379> append name5 five
(integer) 4
127.0.0.1:6379> get key*
(nil)
127.0.0.1:6379> get name
"zero"
127.0.0.1:6379> mget name2 name3
1) "one"
2) "three"
127.0.0.1:6379> keys pattern
(empty list or set)
127.0.0.1:6379> keys *
1) "name4"
2) "name"
3) "name2"
4) "name3"
5) "name5"
127.0.0.1:6379> type name
string
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> key *
(error) ERR unknown command `key`, with args beginning with: `*`,
127.0.0.1:6379> keys *
1) "name4"
2) "name2"
3) "name3"
4) "name5"
127.0.0.1:6379>
(使用暂时写的较少,待续...)