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. fiddler界面工具栏介绍(二)

    工具栏介绍 1.Winconfig,Windows 使用了一种称为“AppContainer”的隔离技术,使得一些进程的流量无法捕获,打开WinConfig后可设置解除隔离. 2.气泡按钮,给sess ...

  2. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

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

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

  4. 微信小程序POST请求参数传递不到后台, 前台获取不到后端返回的数据, 以及 post 请求返回 404 但后台能收到数据

    1 微信小程序POST请求参数传递不到后台 需要在微信请求 wx.request 改变默认 header 配置为如下 wx.request({ url: 'test.php', //仅为示例,并非真实 ...

  5. prometheus-pushgateway安装

    背景 当prometheus的server与target不在同一网段网络不通,无法直接拉取target数据,需要使用pushgateway作为数据中转点. 弊端 将多个节点数据汇总到 pushgate ...

  6. maven 高级玩法

    maven 高级玩法 标签(空格分隔): maven 实用技巧 Maven 提速 多线程 # 用 4 个线程构建,以及根据 CPU 核数每个核分配 1 个线程进行构建 $ mvn -T 4 clean ...

  7. 大哥带的Orchel数据库的报错注入

    0X01 使用报错注入需要使用类似 1=[报错语句],1>[报错语句],使用比较运算符,这样的方式进行报错注入(MYSQL仅使用函数报错即可),类似mssql报错注入的方式. news.jsp? ...

  8. jQuery file upload cropper的 click .preview事件没有绑定成功

    测试 修改https://github.com/tkvw/jQuery-File-Upload/blob/master/basic-plus.html var node = $('<p id=& ...

  9. db2表结构导出导入,数据库备份

    1.新增用户组.用户和查看所有用户: 新增系统用户组: #groupadd jldb //增加用户组jldb 需使用root权限 useradd jldb -g jldb //将新增用户赋值到jldb ...

  10. webpack前置知识2(JavaScript项目初始化)

    所有的JavaScript项目都是在终端输入npm init -y进行项目初始化,如果要自定义项目规则,去掉 -y 参数. vscode终端快捷键ctrl+` 初始化 运行上述命令后,项目内会新建一个 ...