Redis介绍及入门安装及使用

什么是Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster。

根据Redis的官网介绍,我们可以得知Redis有以下功能及特性:

  • Redis是一个开源的、基于BSD协议的内存数据结构存储,可以用来当做数据库、缓存、消息代理
  • 支持的数据格式包括:strings、hashes、lists、sets、sorted sets with range queries、bitmaps, hyperloglogs、geospatial indexes with radius queries 、streams。
  • Redis本身提供复制、Lua脚本、LRU清除、事务、及不同级别的持久机制,通过Sentinel和Cluster来保证高可用性。

为什么要选择Redis

  • 性能优异,Redis官方验证了在不同CPU下的Redis性能,感兴趣的同学请移步,https://redis.io/topics/benchmarks ,每秒10w+的读写操作是完全是小菜一碟,当然在实际中因为服服务器的CPU/环境会有些许出入,但足以应对觉得大多数的复杂应用场景。
  • 支持复杂的数据结构,除了常用的KEY -Value之外,还支持其他多种复杂的数据结构,比如Set 、Lists、bitmaps、hyperloglogs 、 geospatial 、stream。
  • 提供了持久化的功能,方便快速恢复数据。
  • 支持读写分离、主从复制、哨兵模式、集群模式,保证高可用。
  • 对存储的Value大小没有内容限制。方便存储较大的数据。

安装Redis

官网最新稳定的版本为:[Redis 5.0.6 is the latest stable version]:http://download.redis.io/releases/redis-5.0.6.tar.gz

Redis的安装

$ wget http://download.redis.io/releases/redis-5.0.6.tar.gz
$ tar xzf redis-5.0.6.tar.gz
$ cd redis-5.0.6
$ make

如果在执行make指令时出现如下错误:

/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/opt/software/redis/redis-5.0.6/src'
make: *** [all] Error 2

说明没有安装gcc,因为Redis是C实现的,所以需要安装gcc来进行编译。

安装gcc指令:

yum install gcc

安装完成后执行以下操作:

# 删除上次安装的Redis目录及子目录
$ rm -rf redis-5.0.6
# 重新解压和编译
$ tar xzf redis-5.0.6.tar.gz
$ cd redis-5.0.6
$ make

启动服务端

# 启动服务端
[enjoyitlife@localhost redis-5.0.6]$ src/redis-server
# 启动成功会显示如下信息
[enjoyitlife@localhost redis-5.0.6]$ src/redis-server
11872:C 20 Nov 2019 07:13:57.586 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
11872:C 20 Nov 2019 07:13:57.586 # Redis version=5.0.6, bits=64, commit=00000000, modified=0, pid=11872, just started
11872:C 20 Nov 2019 07:13:57.586 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
11872:M 20 Nov 2019 07:13:57.589 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
11872:M 20 Nov 2019 07:13:57.590 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
11872:M 20 Nov 2019 07:13:57.590 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 11872
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' 11872:M 20 Nov 2019 07:13:57.594 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
11872:M 20 Nov 2019 07:13:57.595 # Server initialized
11872:M 20 Nov 2019 07:13:57.595 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
11872:M 20 Nov 2019 07:13:57.595 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
11872:M 20 Nov 2019 07:13:57.595 * Ready to accept connections

客户端连接

# 新开一个Shell 窗口
[enjoyitlife@localhost ~]$ cd /opt/software/redis/redis-5.0.6
[enjoyitlife@localhost redis-5.0.6]$ src/redis-cli
# 表示连接成功
127.0.0.1:6379>

命令测试

127.0.0.1:6379> set name enjoyitlife
OK
127.0.0.1:6379> get name
"enjoyitlife"
127.0.0.1:6379>

设置Redis后台运行

# 修改redis.conf 中 daemonize no 改成 yes
daemonize yes
# 可以先将文件改下名,然后在启动的时候 以指定的文件启动
[enjoyitlife@localhost redis-5.0.6]$ cp redis.conf redis6379.conf
[enjoyitlife@localhost redis-5.0.6]$ src/redis-server redis6379.conf # 此时就不会出现Redis的Logo图片了,而是如下说明, 表明后台启动Redis成功
[zpenjoy@localhost redis-5.0.4]$ src/redis-server redis6379.conf
11920:C 20 Nov 2019 07:21:21.021 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
11920:C 20 Nov 2019 07:21:21.022 # Redis version=5.0.6, bits=64, commit=00000000, modified=0, pid=11920, just started
11920:C 20 Nov 2019 07:21:21.022 # Configuration loaded

停止Redis服务

# 可以通过关闭进程的方式 强制关闭 不建议使用该方式
[enjoyitlife@localhost ~]$ ps -ef|grep redis
[enjoyitlife@localhost redis-5.0.6]$ ps -ef|grep redis
enjoyit+ 11921 1 0 07:21 ? 00:00:00 src/redis-server 127.0.0.1:6379
enjoyit+ 11929 11898 0 07:23 pts/1 00:00:00 src/redis-cli
enjoyit+ 11956 11933 0 07:25 pts/0 00:00:00 grep --color=auto redis [enjoyitlife@localhost redis-5.0.6]$ kill -9 11921
# 推荐方式
./src/redis-cli shutdown

好了,Redis基本介绍及安装就介绍到这里了,谢谢阅读。

Redis介绍及入门安装及使用的更多相关文章

  1. Redis介绍和环境安装

    -------------------Redis环境安装------------------- 1.安装     1.卸载软件         sudo apt-get remove redis-se ...

  2. redis介绍、单机安装以及java调用

    什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求(非关系型的.分布式的.开源的.水平可扩展 ...

  3. redis介绍、安装、redis持久化、redis数据类型

    1.redis介绍  2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...

  4. Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案

    一:redis的入门介绍: 首先贴出官网; 英文:https://redis.io/ 中文:http://www.redis.cn/ 1.是什么 --REmote DIctionary Server( ...

  5. Redis介绍以及安装(Linux)

    Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...

  6. redis介绍以及安装

    一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的values类型相对更多,包括字符串.列表.哈希散列表.集合,有序集合. 这些数据类型都支持pus ...

  7. Redis介绍以及安装(Linux)

    Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...

  8. [Redis_1] Redis 介绍 && 安装

    0. 说明 Redis 介绍 && 安装 1. Redis 介绍 2. Redis 安装(Windows 10) [2.1 解压 redis-2.2.2-win32-win64.rar ...

  9. 1.Redis介绍以及安装

    Redis介绍 Redis是一个开源的(BSD开源协议),内存数据结构存储,被用于作为数据库,缓存和消息代理. Redis支持如下数据结构: string(字符串) hashes(哈希) lists ...

随机推荐

  1. c库函数 rewind fseek

    rewind(3) 将文件内部的位置指针重新指向一个流(数据流/文件)的开头 不是文件指针而是文件内部的位置指针 rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_ ...

  2. 写api接口神器--带你5分钟了解swagger

    随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染.先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远. 前端和后端的唯一联系,变成了API接口:API文档变成了 ...

  3. pymysql基本操作

    https://www.cnblogs.com/woider/p/5926744.html https://www.runoob.com/python3/python3-mysql.html 注意: ...

  4. RAC heartbeat 心跳机制

    世界上最遥远的距离,不是生与死.而是我们同一个集群的两个节点,你却听不到我的心跳. 必要性:维持集群的⼀致性RAC⼼跳机制 – 集群⼼跳基本机制:1.确定节点和节点间的连通性,达到彼此了解2.⽤共享的 ...

  5. BAT面试必问题系列:深入详解JVM 内存区域及内存溢出分析

    前言 在JVM的管控下,Java程序员不再需要管理内存的分配与释放,这和在C和C++的世界是完全不一样的.所以,在JVM的帮助下,Java程序员很少会关注内存泄露和内存溢出的问题.但是,一旦JVM发生 ...

  6. QQ群文件未通过安全检查,禁止下载该文件

    直接用手机收藏群文件,然后用电脑登上qq去收藏里面下载就ok了

  7. 开学JAVA第一次测试

    定义 ScoreInformation 类,其中包括七个私有变量(stunumber,name, mathematicsscore, englishiscore,networkscore, datab ...

  8. 【leetcode】74. Search a 2D Matrix & 240. Search a 2D Matrix II

    题目如下:这两个题目可以用同样的代码来解答,因此就合并在一起了. 题目一: 题目二: 解题思路:两个题目的唯一区别在于第二个题目下一行的最小值不一定会小于前一行的最大值.但是不管怎么样我们可以确定的是 ...

  9. A1002

    多项式相加,按非零项个数,指数,系数输入两个n项多项式,合并同类项之后输出. 用数组编号保存指数,编号对应的数组值保存系数,相加之后用count记录非零项的个数,最后输出. 数组最大1000个,如果有 ...

  10. C# 基础:DataTable操作、发邮件

    本文出自:https://www.cnblogs.com/2186009311CFF/p/6865909.html DataTable操作 据参数删除为0的列:包括遍历.删除.取值 public st ...