Redis简介及详细安装教程

今天和大家说下Redis,那什么是redis呢?

Redis介绍

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

Redis特点

  • 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的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储对比

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。
  • 在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

Redis安装

还是在Linux系统下安装

1、下载安装包

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

2、解压压缩包

tar -zxf redis-4.0.6.tar.gz

3、移动到soft目录

mv redis-4.0.6 /opt/soft/redis406

4、安装gcc依赖

yum install gcc -y

5、跳转到redis解压目录下

cd /opt/soft/redis406

6、编译安装

make MALLOC=libc 

7、进入redis-4.0.6/src目录

make install

开始启动redis

方法一:

直接启动redis ,在src目录下

./redis-server

重启窗口进入数据库

cd /opt/soft/redis406/src
ls *-cli
./redis-cli -h 192.168.5.150 -p 6379

注意:
当进入数据库,创建键值对的时,这个时候会报一个错误,提示新建键值对出现错误需要绑定
解决方案:

cd /opt/soft/redis406
vi redis.conf


#找到bind 开头的一段IP地址,改成自己的ip
bind 192.168.5.150

然后重新启动reids,在conf目录下

cd /opt/soft/redis406/src
./redis-server ../redis.conf

这个时候就可以正常创建键值对了。

方法二:

以后台进程方式启动redis:
第一步:修改redis.conf文件

daemonize no

修改为

daemonize yes

第二步:指定redis.conf文件启动

./redis-server /opt/soft/redis406/redis.conf

第三步:关闭redis进程
首先使用ps -aux | grep redis查看redis进程
使用kill命令杀死进程
kill 进程

方法三:

设置redis开机自启动,可以不用设置
第一步:在/etc目录下新建redis目录

mkdir redis

第二步:将redis406/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf

cp /opt/soft/redis406/redis.conf /etc/redis/6379.conf

第三步:将redis的启动脚本复制一份放到/etc/init.d目录下

cp /opt/soft/redis406/utils/redis_init_script /etc/init.d/redisd

第四步:设置redis开机自启动
先切换到/etc/init.d目录下
然后执行自启命令

chkconfig redisd on

会报一个错,是redisd不支持chkconfig
解决方案:
使用vim编辑redisd文件,在第一行加入两行注释,并保存退出

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

解析:
redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

再次执行开机自启命令

chkconfig redisd on

这时就能执行成功!

现在可以直接以服务的形式启动和关闭redis了!
启动:

service redisd start 

关闭:

service redisd stop
#或者
redis-cli SHUTDOWN

当出现有个虚线的方格子时,说明redis启动成功!
在这里插入图片描述
我们按照方法一的步骤来进入redis数据库:

./redis-cli -h 192.168.5.150 -p 6379

redis基本操作

设置键值对:

set zp "hello"

通过键获取值:

get zp

删除键

del zp

Redis的keys 命令

  • DEL key
    该命令用于在 key 存在时删除 key。

  • DUMP key
    序列化给定 key ,并返回被序列化的值。

  • EXISTS key
    检查给定 key 是否存在。

  • EXPIRE key seconds
    为给定 key 设置过期时间,以秒计。

  • EXPIREAT key timestamp
    EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。
    不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。

  • PEXPIRE key milliseconds
    设置 key 的过期时间以毫秒计

  • PEXPIREAT key milliseconds-timestamp
    设置 key 过期时间的时间戳(unix timestamp) 以毫秒计

  • KEYS pattern
    查找所有符合给定模式( pattern)的 key 。

  • MOVE key db
    将当前数据库的 key 移动到给定的数据库 db 当中。

  • PERSIST key
    移除 key 的过期时间,key 将持久保持。

  • PTTL key
    以毫秒为单位返回 key 的剩余的过期时间。

  • TTL key
    以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

  • RANDOMKEY
    从当前数据库中随机返回一个 key 。

  • RENAME key newkey
    修改 key 的名称

  • RENAMENX key newkey
    仅当 newkey 不存在时,将 key 改名为 newkey 。

  • SCAN cursor [MATCH pattern] [COUNT count]
    迭代数据库中的数据库键。

  • TYPE key
    返回 key 所储存的值的类型。

Redis的基本命令及使用就介绍到这里,后面还会整理出更多redis的相关内容,尽请期待!

猜你喜欢

转载自blog.csdn.net/zp17834994071/article/details/108309038