redis 简介

redis 是高性能的 key-value 数据库,读的速度是110000次/s,写的速度是81000次/s ,它以内存作为主存储

具有以下优点:

1. 支持数据的持久化,将内存中的数据存入磁盘,重启时自动加载

2. 丰富的数据结构,其value可以是多种数据类型,如 list set string hash zset    【zset 有序集合】

3. 支持数据备份,master-slave模式

安装与配置

安装详情参考 https://www.runoob.com/redis/redis-install.html

配置详情参考 https://www.runoob.com/redis/redis-conf.html

启动命令

cd  /src
./redis-server
./redis-server ../redis.config

第一种启动是按redis默认配置启动【注意redis安装时自带了配置文件,但是这种启动方式并不是以这个配置文件的配置启动】

第二种启动是以某配置文件启动【推荐方式】

也可以这么启动

./redis-server --key1 value1 --key2 value2

启动后可直接关闭终端,服务不会停止。

常规配置

1. 初始配置只能在本机上访问,默认配置 bind 127.0.0.1,需要修改为  bind 0.0.0.0,接收来自任意IP的请求

异常处理

1. 程序连接 redis 时,报错,显示 redis 处于受保护模式

解决方法 

a. 配置文件中修改配置 protected-mode no;重启redis,可查询该配置,在客户端运行命令 config get protected-mode

b. 直接在客户端命令行修改【需要验证是一次性还是永久性修改】

redis 连接

远程连接时要注意查看防火墙是否关闭

1. 通过客户端访问数据库

客户端下载    http://www.pc6.com/softview/SoftView_450180.html

2. 通过 redis 命令访问数据库

cd /src
./redis-cli

启动 redis 客户端,客户端 redis-cl i在 redis 的安装包内

也可以用命令远程连接redis

基础命令

每种数据类型都有各自的命令

string

实例

list

可以有效的存储多个字符串

实例

hash

可以有效地存储多个键值对

实例

set

可以存储多个唯一的字符串

zset

实例

上面的命令都是每次存储一个数据,redis也可以批量导入数据,一般是在set前加个m,如 hmset ,具体请百度

数据存储

redis 为了方便查看,通常会以 目录结构 存储数据,用文件夹来表示层级关系;

这时候在set的时候,需要将key值使用“:”的符号来区分层级关系,比如:set(“a:b”, “123”),那么在redis中就是a目录下的key值为b的value为123。

python-redis

import redis

r = redis.StrictRedis(host='192.168.10.130', port=6379)  # 连接Redis,
r.set('s', 'hello world') # 字符串
print r.get('s') ### hello world r.rpush('queue', 1, 2, 3) # 列表
print r.lpop('queue') ### 1
print r.llen('queue') ### 2
print r.lrange('queue', 0, -1) ### ['2', '3']

参考资料:

https://www.runoob.com/redis/redis-tutorial.html

redis 教程(一)-基础知识的更多相关文章

  1. php基础教程-必备基础知识

    PHP 脚本在服务器上执行. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML CSS JavaScript 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程 ...

  2. Redis简介及基础知识

    一.Redis简介 Redis是什么?两句话可以做下概括: 1. 是一个完全开源免费的key-value内存数据库 2. 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 string( ...

  3. redis学习研究--基础知识

    以下内容多为摘抄转载: 1. Redis 是什么 Redis是一个开源的使用ANSI C语言编写的基于内存的key/value存储系统,与memcache类似,但它支持的value类型更多,包括:字符 ...

  4. 一、redis系列之基础知识与centos下环境搭建

    1. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的ke ...

  5. Redis学习之一--基础知识

    一.定义 REmote DIctionary Server(Redis) 是一个以字典结构存储数据的key-value存储系统:使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化 ...

  6. Java基础教程——网络基础知识

    参考阅读[中国互联网发展史]:https://zhuanlan.zhihu.com/p/61602252 协议 计算机网络中的通信必须有一些约定,这些约定称为"通信协议". 通信协 ...

  7. php教程|php基础知识

    第1章  初识PHP 当前网络技术发展日新月异,各种基于服务端创建动态网站的脚本语言更是层出不穷.其中PHP以其简单.易用.可移植性强等特点,在众多的动态网站语言技术中独树一帜.那么到底什么是PHP, ...

  8. 菜鸟教程jsonp基础知识讲解

    jsonp是什么? Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的 ...

  9. Redis基础知识补充及持久化、备份介绍(二)--技术流ken

    Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...

随机推荐

  1. 利用aspose-words直接将Word转化为图片

    之前遇到一个需求,需要在word文档中加入一些文字,并转化为图片.之前也试过几种方案,但是发现效果还不是很理想,且中间需要经过一次转化为pdf的过程,最近找到了最理想的方式,即利用aspose-wor ...

  2. springboot(11)使用SpringBoot validator进行数据验证

    简介: 数据验证是作为一个企业级项目架构上设计的最基础的模块,前辈们曾说过:界面上传递到后台的数据没有百分之百值得相信的!为什么这么说呢?往往我们在编写程序的时候都会感觉后台的验证无关紧要,这样就会给 ...

  3. clojure的语法糖

    语法糖很多, 就是奔这个“懒” 来用clj的. 但是,在常见的书里(<Clojure编程><Clojure编程乐趣2>)都对很多基本语法,用法都介绍不全, 不细.看书看得很累. ...

  4. 记一次创建svc代理失败

    在看尚硅谷的k8s视频中,学到ingress代理的时候,由于之前按照视频安装了V1.15.1,后面环境又出了问题,重新安装了 16.1的,为这次失败埋下了伏笔. 教案中的yaml apiVersion ...

  5. VirtualBox NAT Host-only模式下,自动分配IP上网。

    修改宿主机上,virtualbox自建虚拟网卡Host-Only 2. 因为我使用了两个适配器,所以这两个适配器的名字分别是ifcfg-eth0, ifcfg-eth1. ifcfg-eh0一般默认就 ...

  6. week3 作业

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1.1 创建文件 touch FILE mkdir DIR mkdir -p DIR1/DIR2/DIR3/ 递归创建子目 ...

  7. Oracle数据库表空间创建、添加用户并授权

    --创建test表空间CREATE TABLESPACE test_data LOGGING DATAFILE '/u01/app/oracle/oradata/test/test_data.dbf' ...

  8. 【每日一包0005】arr-flatten

    github地址:https://github.com/ABCDdouyae... arr-flatten 将多维数组展开成一维数组 文档地址:https://www.npmjs.com/packag ...

  9. jQuery-validate插件初级篇

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  10. java 8 jdk1.8 新特性

    1Lambda表达式 2函数式接口 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口. java 8为函数式接口引入了一个新注解@Fu ...