Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Redis学习一(基础入门).

Redis学习一(基础入门).

作者头像
JMCui
发布于 2018-03-15 09:26:26
发布于 2018-03-15 09:26:26
8560
举报
文章被收录于专栏:JMCuiJMCui

一、前言

    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、key-Value 的数据库、并提供多种语言的API

    通常,Redis 将数据存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据持久化:使用截图的方式,将内存中的数据不断写入磁盘;或使用类似 MySQL 的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。

    解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字。

二、特点

  • 支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载进行使用。
  • 丰富的数据类型存储:String、list、set、zset、hash。
  • 支持数据的备份,即master-slave模式的数据的备份。
  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s。
  • 所有的操作都是基于原子性的。

三、数据对象

  • String

--redis的String可以包含任何数据,比如jpg图片或者序列后的对象,一个key最大能存储512MB。

  • Hash

--hash 是一个String类型的field 和 value 的映射表,hash 特别适合用于存储对象。每个hash可以存储2^32-1键值对 。

  • list

--Redis 列表是简单的字符串列表,按照插入的顺序可以在列表的头部(左边)或者尾部(右边)添加元素。

  • set

--Redis的Set是String类型的无序集合。集合是通过hash表实现的,所以。添加、删除、查找的复杂度都是O(1)。

  • zset

--zset 和 set一样也是String的类型元素的集合,且不允许重复的队员,不同的是每个元素都会关联一个double类型的score。redis正是通过score来为集合中的成员进行从小到大的排序。分数(score)可以重复。 添加元素到集合,元素在集合中存在则对应更新相应的score。

四、安装

1、Window

--服务端   1、window下载地址:https://github.com/MicrosoftArchive/redis/releases   2、打开一个 cmd 窗口 使用cd命令切换目录 E:\redis 运行 redis-server.exe redis.windows.conf --客户端   1、打开一个 cmd 窗口 使用cd命令切换目录 E:\redis 运行 redis-cli.exe -h 127.0.0.1 -p 6379 -a 'mypass'   2、set myKey abc / get myKey

2、Linux

--服务端   1、 wget http://download.redis.io/releases/redis-2.8.17.tar.gz   2、 tar -zxvf redis-2.8.17.tar.gz redis-2.8.17   3、 cd redis-2.8.17   4、 make   5、 cd src   6、 ./redis-server redis.conf --客户端   1、 cd src   2、 ./redis-cli   redis> set foo bar   OK   redis> get foo   "bar"

五、命令

1、String

-- set key value 保存key和value。 -- get key 根据key得到value。

2、Hash

-- hmset myhash key1 val1 key2 val2 存储hash值 -- hget myhash key1 根据hash中的某个key得到value -- hgetall myhash 得到hash中的所有值 -- HDEL key field1 [field2] 删除一个或多个哈希字段 -- HKEYS key 获取所有哈希表中的字段 -- HLEN key 获取哈希字段数

3、List

-- lpush key val 向列表左边插入元素 -- lpop key 从列表左边移出元素 -- rpush key val 向列表右边插入元素 -- rpop key 从列表右边移出元素 -- rpushx key value 为已存在的列表添加值 -- LRANGE key start stop 获取列表指定范围内的元素 -- lindex key index 通过索引获取列表中的元素

4、Set

-- sadd key value 添加元素 -- smembers key 根据key获得集合中的所有成员 -- scard key 获取集合的成员数 -- sdiff key1 key2 返回给定所有集合的差集(key2的集合相对于key1集合的差集) -- sunion 返回给定集合的并集 -- smove source des member 把member从source集合到des集合 -- sdiffstore des key1 key2 返回给定所有集合的差集,并存储在des中 -- srandmember key count 返回集合中一个或多个随机数 -- spop key1 移除并返回集合中的一个随机元素 -- sismember key mem 判断mem元素是否存在

5、Zset

-- zadd page 0 123 -- zadd page 1 234 -- zrangebyscore page 0 10

6、通用

-- 删除key:DEL key -- 查看所有的key:keys * -- 序列化给定key,并返回被返回的值:DUMP key -- 检查给定key是否存在:EXISTS key -- 为key设置过期时间:EXPIRE key seconds -- 为key设置过期时间(时间戳):EXPIREAT key timestamp -- 为key设过期时间(毫秒):PEXPIRE key milliseconds -- 查找所有符合给定模式的key:KEYS pattern -- 移除key的过期时间,key将持久保存:persist key -- 以毫秒为单位返回key的剩余过期时间:PTTL key -- 返回key所存储的值得类型:TYPE key

HyperLogLog:  -- 添加指定元素到HyperLogLog中:PFADD key element  -- 返回给定的HyperLogLog的基数估计值:PFCOUNT key -- 将多个HyperLogLog 合并为一个HyperLogLog:PFMERGE destkey sourcekey

订阅命令: -- 订阅一个或多个符合给定模式的频道:psubscribe pattern -- 退订一个或多个符合给定模式的频道:punsubscribe pattern -- 查看订阅与发布系统状态:pubsub subcommand -- 将信息发布到指定的频道:publish channel message -- 订阅给定的一个或多个频道的信息:subscribe channel -- 退订给定的频道:unsubscribe channel

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Redis学习二(数据操作).
在 redis-cli 中使用中文时,必须打开 --raw 选项,才能正常显示中文。
JMCui
2019/10/21
4450
Python操作Redis和Memcac
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
py3study
2020/01/06
6140
Python操作Redis和Memcac
Redis学习-入门篇
Redis 是一个支持网络交互的、可基于内存也可持久化的Key-Value数据库(非关系性数据库),它不仅性能强劲,而且还具有复制特性; Redis提供了五种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上。
江涛学编程
2023/05/27
3030
Redis学习-入门篇
[喵咪Redis]Redis安装与介绍
[喵咪Redis]Redis安装与介绍 前言 哈喽大家好啊,这次要来和大家一起来了解学习Redis的一系列技术,最终目的是搭建一个高可用redis集群自动负载灾备,那我们先从最基础的Redis的一些基
喵了个咪233
2018/03/02
1.1K0
[喵咪Redis]Redis安装与介绍
高并发架构系列:Redis的基本介绍,五种数据类型及应用场景分析
Redis数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
用户5546570
2019/07/02
1.1K0
高并发架构系列:Redis的基本介绍,五种数据类型及应用场景分析
Redis
REmote DIctionary Server(Redis) 是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的,日志型键值对存储的,非关系型数据库。 通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
matt
2022/10/25
3750
Linux部署Redis(单机版)
“ 当数据库数据量过大的时候,大量的IO操作会成为网站性能的瓶颈,而Redis可以大量减少与数据库的交互,提高网站性能。”
每天学Java
2020/06/01
2.8K0
Linux部署Redis(单机版)
redis常用命令大全
Jensen_97
2023/07/20
4310
redis常用命令大全
Redis数据库及其基本操作
Redis 是一个高性能的key-value数据库, 支持主从同步, 完全实现了发布/订阅机制, 因此可以用于聊天室等场景. 主要表现于多个浏览器之间的信息同步和实时更新.
周小董
2019/03/25
8060
Redis数据库及其基本操作
redis全面解析
Redis 是开源免费的,遵守BSD协议,是一个高性能的key-value非关系型数据库。
Java架构师必看
2021/05/14
5090
redis全面解析
Redis入门之认识redis(一)
  1) NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
用户2417870
2020/10/28
4200
Redis入门之认识redis(一)
redis学习笔记
视频链接:https://www.bilibili.com/video/BV1Rv41177Af/?spm_id_from=333.999.0.0 1. redis概述 开源的nosql数据库,key
用户8126523
2023/01/02
1K0
Redis使用与操作k-v数据
redis是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL数据库。
Tim在路上
2020/08/04
1.1K0
Redis教程(一)--Keep Learning系列
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
王也518
2022/10/26
3130
Redis教程(一)--Keep Learning系列
只需5分钟,完成Redis所有命令操作~
Redis存储的是key-value结构的数据,其中key是字符串类型,value数据类型有:
田维常
2023/11/14
5280
只需5分钟,完成Redis所有命令操作~
【Redis】349- Redis 入门指南
Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。
pingan8787
2019/09/17
5530
【Redis】349- Redis 入门指南
Redis最基础内容
String类型,也就是字符串类型,是Redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:
ha_lydms
2023/08/10
3101
Redis最基础内容
Redis 基础数据结构
Redis 基础数据结构
Java架构师必看
2021/05/14
1.3K0
Redis 基础数据结构
Redis各种数据类型
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。
暴躁的程序猿
2022/03/23
7310
Redis实战之Redis命令
  Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为string(字符串),list(列表),set(集合),hash(散列),zset(有序集合),下面将分别对这5种数据类型的控制命令进行总结,熟话说好记性不如烂笔头,方便以后查看。
全栈程序员站长
2021/12/31
8790
Redis实战之Redis命令
相关推荐
Redis学习二(数据操作).
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档