redis安装--linux
redis
Q:
CentOSt7安装Redis错误:/bin/sh: cc:
未找到命令 make[1]: *** [adlist.o] 错误 127
解决方案:
原因:系统无gcc环境
[root@bogon redis-4.0.6]# yum install gcc-c++ yum安装gcc
[root@bogon redis-4.0.6]# make distclean 清空上次编译失败残留文件
[root@bogon redis-4.0.6]# make && make install 执行编译及安装
go on
make[1]: Leaving directory `/root/redis-5.0.7/src'
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.
6887:M 17 Feb 2020 14:08:25.003 * DB loaded from disk: 0.001 seconds
6887:M 17 Feb 2020 14:08:25.003 * Ready to accept connections
这不是后台运行,比较尴尬
将第138行的daemonize no修改为daemonize yes即可
[root@linuxhua redis-5.0.7]# ./src/redis-server /root/redis-5.0.7/redis.conf
7023:C 17 Feb 2020 14:18:46.443 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7023:C 17 Feb 2020 14:18:46.443 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=7023, just started
7023:C 17 Feb 2020 14:18:46.443 # Configuration loaded
[root@linuxhua redis-5.0.7]# ./src/redis-server /root/redis-5.0.7/redis.conf
配置redis, 可以对外提供服务
打开redis 配置文件;
vi /etc/redis.conf
查看连不上的原因(用windows无法连接虚拟机的redis)!
- 检查本机与虚拟机是否可以互相ping通,如本机IP:192.168.22.111 虚拟机IP:192.168.44.129 (设置虚拟机静态IP已设置)
本机 win+R 输入cmd 进入dos 输入 ping 192.168.44.129 ,查看数据输送情况
虚拟机: ping 192.168.22.111 查看数据输送情况
查看6379(或者自定义redis端口)时候打开
firewall-cmd --query-port=6379/tcp 如果返回no则端口没有开启
firewall-cmd --add-port=6379/tcp (加 --permanent 永久有效),返回success说明开启成功
第2步无误之后,检查虚拟机防火墙设置
关闭防火墙两种方式
iptables 形式防火墙关闭
service iptables stop
chkconfig iptables off 永久关闭
firewalld 形式防火墙关闭
systemctl stop firewalld && systemctl disable firewalld
chkconfig firewalld off 永久关闭
检查防火墙状态(是否dead状态)
systemctl status iptables
systemctl status firewalld
第3步无法解决问题的话,就出绝招了——修改redis.conf文件
ps addr 查了虚拟机分配的IP
修改redis.conf中bind,指定虚拟机IP,如笔者这样修改
# bind 127.0.0.1
bind 192.168.44.129
protected-mode yes 改为 protected-mode no
daemonized no 改为 daemonized yes 以后台静默进程启动(可选)
重启reidis 服务
systemctl restart redis
启动redis服务正确姿势
后台启动方式 redis-server /xx/yy/redis.conf (redis.conf实际地址)
显式启动方式
cd 到redis 安装目录
redis-server &
进入正题,操作redis
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
NoSQL数据库的四大分类
键值(Key-Value)存储数据库
这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。[3] 举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.
列存储数据库。
这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak.
文档型数据库
文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB,已经开源。
图形(Graph)数据库
图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。[2] 如:Neo4J, InfoGrid, Infinite Graph.
因此,我们总结NoSQL数据库在以下的这几种情况下比较适用:1、数据模型比较简单;2、需要灵活性更强的IT系统;3、对数据库性能要求较高;4、不需要高度的数据一致性;5、对于给定key,比较容易映射复杂值的环境。
介绍
redis是业界主流的key-value nosql 数据库之一。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis优点
异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。
这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。
操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。
MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据;
安装Redis环境
要在 Ubuntu 上安装 Redis,打开终端,然后输入以下命令:
$sudo apt-get update
$sudo apt-get install redis-server
这将在您的计算机上安装Redis
启动 Redis
$redis-server
查看 redis 是否还在运行
$redis-cli
这将打开一个 Redis 提示符,如下图所示:
redis 127.0.0.1:6379>
在上面的提示信息中:127.0.0.1 是本机的IP地址,6379是 Redis 服务器运行的端口。现在输入 PING 命令,如下图所示:
redis 127.0.0.1:6379> ping
PONG
这说明现在你已经成功地在计算机上安装了 Redis。
Redis API使用
redis-py 的API的使用可以分类为:
连接方式
连接池
操作
String 操作
Hash 操作
List 操作
Set 操作
Sort Set 操作
管道
发布订阅
安装pika---linux
1、安装依赖库(有一些包epel-release源上才有)
yum -y install epel-release && yum -y install snappy-devel glog-devel gflags-devel
2、安装gcc、make,推荐使用gcc4.8以上的版本
yum install gcc-c++ make
3、安装git,从github直接拉取代码库,也可以进入release页面下载对应版本的源码
yum -y install git

浙公网安备 33010602011771号