redis常用命令和使用简介

redis是一个Key-Value数据库,和关系型数据库一样,有增删改查。不过redis经常是作为存储系统来使用的,通常数据是存储在内存中的,所以速度特别快。很适合做当做缓存来用,总的来说redis的功能是就是存储数据,可以存在内存中,也可以永久的存在存硬盘中。并且操作速度很快。

redis的安装

这里是用的是centos系统,直接源码代码安装

wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar -xzvf redis-4.0.8.tar.gz
cd redis-4.0.8
make

# 安装到指定的目录
make install PREFIX=/usr/local/redis

启动 redis

下载的redis-4.0.8.tar.gz 解压后有个配置文件 redis.conf, 可以复制到文件夹 /etc 下,并修改配置选型, 默认不是在后台运行的,修改成在后台运行。

daemonize no

修改为

daemonize yes

然后可以启动redis服务

cp redis.conf /etc
/usr/local/redis/redis-server /etc/redis.conf

22522:C 20 Feb 12:21:07.402 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
22522:C 20 Feb 12:21:07.402 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=22522, just started
22522:C 20 Feb 12:21:07.402 # Configuration loaded

关闭 redis

/usr/local/redis/redis-cli shutdown

redis 的命令执行

通过redis-cli 是执行redis的命令示例。

#以下这个两个命令是等价的,测试是否连接正常,可以看到redis可以在本机运行,也可以通过网络执行
redis-cli ping
redis-cli -h 127.0.0.1 -p 6379 ping

交互式的方式执行命令

#输入 redis-cli 直接回车,进入交互模式
redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> echo "hello redis"
"hello redis"

redis的常用命令

命令 含义
set 设置单个key
get 获取值
incr +1
decr -1
exists 测试key是否存在
del 删除key
type 测试key的类型
keys 匹配满足的key
dbszie 当前数据库的key的数量
expire 设置key的过期时间
ttl key剩余的时间
move 将key移动到指定的数据库
flushdb 删除当前数据库中所有的key
flushall 删除所有的数据库的值key
select 切换数据库

redis示例

一个redis服务,可以是有多个数据库,不同的数据库可以存储相同的键。就像是不同的文件夹下,可以有相同的文件一样。默认redis一共有16个数据库,编号从0到15,默认使用的是第0个数据库。通过 select可以切换到不同的数据库。通过配置文件可以修改默认数据库的个数

# 清空所有的数据
127.0.0.1:6379> FLUSHALL
OK
# 获取一个不存的键,返回 nil
127.0.0.1:6379> get a
(nil)
# 使用0号数据库
127.0.0.1:6379> select 0
# 在0号数据库设置a的值100
127.0.0.1:6379> set a 100
OK
# 获取该值
127.0.0.1:6379> get a
"100"
# 切换到1号数据库
127.0.0.1:6379> select 1
OK
# 获取a的值,1号数据库中并没有a,返回  nil
127.0.0.1:6379[1]> get a
(nil)
# 保存当前的数据,默认保存的位置是当前目录,就是执行 redis-server 命令的时候,所在的目录, 文件的名字是 dump.rdb
127.0.0.1:6379> save
OK
# 关闭redis
redis-cli shutdown
# 重新启动,数据并不会丢失, 因为已经 **save** 保存过了。
redis-server /etc/redis.conf

php中使用 redis

首先需要在早php中安装好 redis扩展

pecl install redis

示例代码

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "redis ping: " . $redis->ping() . "\n";

$redis->set('test', 100);
$ans = $redis->get('test');
echo $ans . "\n";
// -----------
/*
redis ping: +PONG
100
*/

常见文件

  1. 修改文件默认数据库保存的目录, 通过修改配置文件 redis.conf 选项 dir的值就可以, 修的值就是新的目录,要保证目录的存在。
  2. 数据的保存和恢复 CONFIG GET dir 可以获取数据库存储的目录,启动的时候自动恢复里面的值。
  3. 如果数据量大,如何在后台保存数据, 通过命令 bgsave

发表评论

电子邮件地址不会被公开。 必填项已用*标注