REDIS 学习笔记_hmset 丢数据-程序员宅基地

技术标签: redis  

NOSQL 数据库之REDIS

一、Nosql

1、简介

Nosql(not only sql),泛指非关系型数据库

特点:

Nosql通常是以key->value形式存储

不支持sql语句,没有表结构

2、优缺点

优点:

高并发读写性能强悍

大数据 量的扩展(分布式存储)强悍

配置简单

灵活、高效的操作与数据模型

低廉的成本

缺点:

没有正式的官方支持

没有统一的标准

各种产品还不算成熟

3、常见的nosql产品

Redis(新浪微博)MONGDB(优酷视频,视觉中国网站)

二、redis介绍

1、概述

Redis是Remote dictionary Server(远程数据服务)的缩写

由意大利人antirez开发的一款内存高速缓存数据库

该软件使用c语言编写,他的数据模型为key->value

它支持存储的value类型包含string(字符串),hash(哈希),set(集合),Zset(有序集合),list(链表)

为了保证效率数据都是存在内存中,他也可以周期性的把更新的数据写入磁盘或者修改操作写入追加的记录文件

2、特点

1:高速读取数据(in-memory[存在缓存中所以告诉])

2:减轻数据库负担

3:有集合计算功能(优于普通数据库和同类别产品)[社交网站:计算朋友关系交集、并集、差集]

4::多种数据机构支持

3、适合场合及优势

1:[sort Set]排行榜应用,取top n 操作,例如sina微博热门话题

2:[list]获取最新N个数据或某个分类的最新话题

3:计算器应用

4:[Set]sns(social network site) 获取共同的好友

5:[Set]防攻击系统(ip判断)等。(记录用户账号密码次数,多次错误登录进行锁定)

4、与memcache(存储在内存)比较说明

Redis与memcache比较

1:数据类型:memcache支持的数据类型就是字符串,redis支持的数据类型有字符串,哈希,集合,有序记录,链表。

2:持久化:么么cache数据是存储到内存里面,一旦断电货重启,则数据丢失,redis数据也是存储在内存里面的,但是可以持久化,周期性的把数据给保存到硬盘里面,重启或断电不会丢失

3:数据量:memcache一个存储键的数据量最大是1M而redis的一个键值存储最大量是1G的数据量

三、安装启动

1:安装软件

(1):下载软件

https://redis.io/download

(2):上传到linux服务器

在linux下一般用scp这个命令来通过ssh传输文件。

scp /path/filename username@servername:/path   

例如scp /var/www/test.php  [email protected]:/var/www/  把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

(3):解压软件

解压缩命令:

命令格式:tar  -zxvf   压缩文件名.tar.gz

tar -zvxf 解压文件名 -C 要解压的路径

(4)、进入解压目录

Cd /目录

(5)、无需配置直接编译

Make /直接执行make编译

(6)、执行安装

Make PREFIX=/usr/local/redis(路径) install

redis-benchmark命令性能测试命令

redis-check-aof和redis-check—dump是日志检测工具

redis-server 服务器端启动命令

redis-cli 是客户端连接服务器的命令

(7)、复制配置文件

从redis解压目录里面的redis.conf 复制到安装目录下面redis.conf

cp /hoe/my/目录 redis.conf

2:启动redis服务

语法命令  配置文件

.相对路径写法 /bin redis-server redis.conf

使用绝对路径 /usrr/local/redis/bin/redis-server  /usrr/local/redis/bin/ redis.conf

查看是否成功

Netstat –tunpl Grep 6379 默认端口

3:客户端连接redis服务

语法:连接命令 –h 主机ip –p 端口号

本地连接,直接输入连接命令即可

redis-cli是客户端连接服务器的命令

./bin/redis-cli

 

4:关闭redis服务

停止redis实例

我们可以使用 /usr/local/redis/bin/redis-cli shutdown

也可以使用 pkill redis-server

Killakk redis-server

Netstat –tunpl Grep 6379 为空表示已关闭了redis服务

四、数据类型讲解

1:字符串(string)

String是reids 最基本的类型

Redis的类型可以包含任何数据,也包括jpg图片或者序列化的对象

单个value值最大上限是1G字节,如果只用string类型,redis就可以被看做加上持久化性(服务器重启之后,数据不会丢失)的memcache

  1. set

设置键 值

语法 set 键名称 值

Set name mayun

Set age 10

Set email [email protected]

(2) get

获取可以对应的string值,如果key不存在返回null

语法::get 键值

Get name

Get age

(3)incr

对key的值做加加操作,并返回新的值,每执行一次值加1,值类型是数据类型

语法 : incr key

 

(4)incrby

指定相加的值

 

2:hash

hash可以用来存储对应mysql中一行的数据,类似于关联数组

构造hash的键

第一条记录

Userid:1(键)  id 1 name xiaobao age 12 email [email protected] (值)

第二条记录

Userid:2  id 1 name xiaobao1 age 12 email [email protected]

(1)hset

设置哈希里面的field和value的值。

语法:

Hset 哈希的名称(键名称) field value

 

 

(2) hget

获取哈希里面的field的值

语法:hget 哈希的名称(键名称)指定的field

 

(3)hmset

一次性设置多个field和value

Hmset 哈希的名称 field1 name1 field2 name2 field3 name3

 

(4)Hmget

一次性获取多个field 和value

语法 哈希的名称 field1 field2 field3

 

(5)hgetall

获取指定哈希中所有的field和value

语法:

Hgetall 哈希的名称

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_24100549/article/details/108203535

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签