redis概要学习
redis 概要学习
redis简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
- Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可保存在磁盘中重复加载使用
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份
- readis 的优势
- 性能高,速度快
- 丰富的数据类型
- 原子性
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等特性
redis安装(乌班图系统安装)
在 Ubuntu 系统安装 Redis 可以使用以下命令:
$sudo apt-get update
$sudo apt-get install redis-server
启动 Redis
$ redis-server
查看 redis 是否启动?
$ redis-cli
以上命令将打开以下终端:
redis 127.0.0.1:6379>
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
redis 127.0.0.1:6379> ping
PONG
以上说明我们已经成功安装了redis。
redis配置
- 直接修改redis配置文件名:redis.conf
- 用命令修改配置:进入redis交互界面执行命令:
redis 127.0.0.1:6379> config set config_setting_name new_config_value
- 用*号获取所有配置项:
redis 127.0.0.1:6379> config get *
redis数据类型
- string(字符串):key-value模式,value可以包含任何数据,比如图片或者序列化的对象
- hash(哈希):是一个键值对的集合,特别适合用于存储对象
- list(列表):是简单的字符串列表,按照插入顺序排序
- set(集合):是string类型的无序集合,集合内元素不能相同
- zset(有序集合):也是string类型元素的集合,且不允许重复成员,通过分数为集合中的成员从小到大排序
redis命令
- keys命令
- del key:删除key
- dump key:序列化key
- exists key:检查key是否存在,存在则返回1,不存在返回0
- expire key seconds:设置key的过期时间,以秒计
- expire key timestamp:设置key的过期时间,以时间戳计
- move key db:将当前数据库的key移动到给定数据库db当中
- persist key:移除key的过期时间
- rename key newkey:重命名
- type key:查询key的数据类型
- string
- set key value:将value赋值给key
- get key:查出key的值
- del key:删除key的值
- getrange key start end:返回key中字符串值
的子字符 - setrange key offset value:用value参数覆盖key所存储的字符串,从offset位置开始
- getset key value:设置key的新值,并返回旧值
- mget key1 key2...:查询多个key的值
- mset key value[key value...]:同时设置一个或多个key-value
- strlen key:返回key的字符串长度
- setnx key value:只有key不存在时设置key的值
- incr key:将key的数值加1
- decr key:将key的值减1
- incrby key increment:将key的值加上给定的增量
- decrby key decrement:将key的值减去给定的减量
- append key value:key已经存在且是一个字符串,将value追加到原值的末尾
- hash
- hmset key field1 " " field2 "":设置key中field1和field2的值
- hget key field1:查出key中field1的值
- hmget key field1 field2...:或取多个指定字段的值
- hdel key field1 field2...:删除一个或多个hash表字段
- hexists key field:检查field是否存在,存在则返回1
- hgetall key:查询key中的所有字段和值
- hkeys key:或取hash表中的字段
- hvals key:或取hash表中所有值
- hlen key:或取hash表中字段的数量
- hincrby key field increment:为hash表key中指定的字段的整数值加上增量increment
- list
- lpush key value1 [value2]:把一个或多个插入到列表头部
- lpop key:移出并获取列表的第一个元素
- lrange key 0 10:获取列表指定范围内的元素
- lrem key count value:移除列表元素
- lset key index value:通过索引设置列表元素的值
- rpush key value1[value2]:在列表的尾部添加一个或多个值
- rpop key:移除列表的最后一个元素
- set
- sadd key member1[member2]:向集合添加一个或多个成员
- scard key:获取集合成员数
- smembers key:获取集合中的所有值
- sdiff key1 key2:是相对于key1而言,返回与key2对比中key1里的不同值
- sinter key1[key2]:返回给定所有集合的交集
- spop key:移除并返回集合中的一个随机元素
- srem key member1[member2]:移除集合中一个或多个成员
- zset
- zadd key score1 member1[score2 member2]:向有序集合添加一个或多个成员,或者更新已存在成员的分数
- zcard key:获取有序集合的成员数
- zcount key min max:计算在有序集合中区间分数的集合数
- zincrby key increment member:在有序集合中对指定成员的分数加上增量increment
- zrange key start stop[withscores]:通过索引区间返回有序集合指定区间内的成员
- zrank key member:返回有序集合中指定成员的索引
- zrem key member[member...]:移除有序集合中一个或多个成员
- zscore key member:返回有序集合中成员的分数值
- zrevrange key start stop[withscores]:返回有序集合中指定区间内的成员,通过索引,分数从高到低
- 连接操作命令
- quit:关闭连接
- auth password:简单密码认证
- help cmd:查看cmd帮助
- select index:切换到指定数据库
- 持久化命令
- save:将数据同步保存到磁盘
- bgsave:将数据异步保存到磁盘
- shutdown:异步保存数据到硬盘,并关闭服务器
- 事务命令
- multi:标记事务开始
- discard:取消事务
- exec:执行事务
- watch key [key...]:监视一个或多个key
- unwatch:取消对所有key的监视
redis概要学习的更多相关文章
- memcache/redis 缓存学习笔记
0.redis和memcache的区别 a.redis可以存储除了string之外的对象,如list,hash等 b.服务器宕机以后,redis会把内存的数据持久化到磁盘上,而memcache则不会 ...
- Androidz之Activity概要学习
Androidz之Activity概要学习 1. Activity类概述 Activity(活动)是一个单独的.能获取焦点的,且能与用户交互的东西.所以我们通常在Activity类中的onCr ...
- MBR和GPT概要学习
MBR和GPT概要学习 1. MBR和GPT 大家所最为熟知的分区方式同时也是最主流的主要有两种:MBR(Master Boot Record)和GPT(GUID Partition Tabl ...
- redis入门学习记录(二)
继第一节 redis入门学习记录(一)之后,我们来学习redis的基本使用. 接下来我们看看/usr/local/redis/bin目录下的几个文件作用是什么? redis-benchmark:red ...
- 笔记-redis深入学习-1
笔记-redis深入学习-1 redis的基本使用已经会了,但存储和读取只是数据库系统最基础的功能: 数据库系统还得为可靠实现这两者提供一系列保证: 数据.操作备份和恢复,主要是持久化: 高可用:主要 ...
- 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习
反射实现Model修改前后的内容对比 在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...
- redis 高级学习和应用场景
redis 高级学习 1.redis 复制 2.redis 集群 3.哨兵机制 4.spring 与哨兵结合 5.数据恢复与转移 6.redis 的阻塞分析 redis 实战 1. 数据缓存(热点数据 ...
- redis命令学习(二) · THIS SPACE
列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...
- Redis安全学习
Redis安全学习 一直在听SSRF打Redis,那Redis到底是啥,正式的认真学习一下. 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvat ...
随机推荐
- JNPF低代码开发框架代码生成器设计
1.代码生成器目录下有通用开发模板.单表开发模板.多表开发模板.流程表单模板.移动开发模板等: ①代码生成器录下通用开发模板页面,有搜索.上步.下步.下载代码功能操作: ②输入查询条件表名关键字进行搜 ...
- 【真相揭秘】requests获取网页编码乱码本质
有没有被网页编码抓狂,怎么转都是乱码. 通过查看requests源代码,才发现是库本身历史原因造成的. 作者是严格http协议标准写这个库的,<HTTP权威指南>里第16章国际化里提到,如 ...
- 读Pyqt4教程,带你入门Pyqt4 _004
在PyQt4教程的这部分中,我们将探讨应用中事件和信号的发生. 事件是GUI程序的重要部分,由用户或者系统产生.当我们调用应用的 exec_() 方法,应用进入主循环.主循环获取事件并把它们发往对象. ...
- 一、Redis 总结
官网 Redis 介绍 Redis 是一个开源的.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API. Redis 是一个 key-value 存储系统.为了 ...
- Python--numpy中的tile()函数
首先是官方给的定以(我是用的VsCode,鼠标放置在tile上出现的),建议直接看后面的示例. def tile(A, reps) Construct an array by repeating ...
- 【HIVE & Spark】将hive引擎换成Spark,运行速度快!怎么换?请看本文
本教程仅仅是使用spark,能在hive用就行. 1.下载Spark; 2.WinSCP上传spark压缩包到虚拟机: 3.tar -zxvf spark-2.3.3-bin-without-hado ...
- Java实现 LeetCode 35 搜索插入位置
35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1, ...
- Java实现字符串的全排列
1 问题描述 输入一个字符串,打印出该字符串的所有排列.例如,输入字符串"abc",则输出有字符'a','b','c'所能排列出来的所有字符串"abc",&qu ...
- Java实现 蓝桥杯 历届试题 蚂蚁感冒
问题描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...
- 用vue实现一个简单的时间屏幕
前言 去年用了一个小的 app,叫做 一个木函,本来想着用来做动画优化就删掉了的,不过看到他有个时间屏幕的小工具,就点进去看了下,觉得挺好玩的,就想着能不能自己实现一下. ps: 闲话不多说,先上例子 ...