当前位置:网站首页>初步认识Redis
初步认识Redis
2022-07-21 13:34:00 【Hanshhh】
初步认识Redis
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis的特点
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
运行Reids后,再另开一个cmd窗口,切换到redis目录下进行操作
输入命令:redis-cli.exe -h 127.0.0.1 -p 6379
设置键值对:set myKey abc
取出键值对:get myKey
Redis配置
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。
查看配置文件,语法为:config get + 配置文件名 //查看所有配置文件CONFIG GET *
可以通过修改 redis.conf 文件或使用 config set 命令来修改配置。
例子:
redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
Redis配置详细信息请查看菜鸟教程Redis配置
Reids数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
String类型:
string 类型是 Redis 最基本的数据类型,一个 key 对应一个 value。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
string 类型的值最大能存储 512MB。
Hash(哈希)类型:
Redis hash 是一个键值(key=>value)对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
redis 127.0.0.1:6379> DEL runoob
redis 127.0.0.1:6379> HMSET runoob field1 "Hello" field2 "World"
"OK"
redis 127.0.0.1:6379> HGET runoob field1
"Hello"
redis 127.0.0.1:6379> HGET runoob field2
"World"
实例中我们使用了 Redis HMSET, HGET 命令,HMSET 设置了两个 field=>value 对, HGET 获取对应 field 对应的 value。
每个 hash 可以存储 232 -1 键值对(40多亿)。
List(列表)类型:
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> DEL runoob
redis 127.0.0.1:6379> lpush runoob redis
(integer) 1
redis 127.0.0.1:6379> lpush runoob mongodb
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabbitmq
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10
1) "rabbitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>
set(集合)类型:
Redis 的 Set 是 string 类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
sadd命令添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0。
redis 127.0.0.1:6379> DEL runoob
redis 127.0.0.1:6379> sadd runoob redis
(integer) 1
redis 127.0.0.1:6379> sadd runoob mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabbitmq
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabbitmq //rabbitmq已经被添加过,再次添加的元素将被忽略
(integer) 0
redis 127.0.0.1:6379> smembers runoob
1) "redis"
2) "rabbitmq"
3) "mongodb"
zset(sorted set:有序集合)类型:
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
redis 127.0.0.1:6379> DEL runoob
redis 127.0.0.1:6379> zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabbitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabbitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000
1) "mongodb"
2) "rabbitmq"
3) "redis"
边栏推荐
- C#使用Objects Comparer进行对象比较
- Map collection traversal in multiple ways
- ES6 from getting started to mastering 05: extended operators and arrow functions of functions
- 【综合笔试题】难度 3.5/5,多解法热门二叉树笔试题
- 分享一篇关于 Canvas 的入门指南
- ES6 from introduction to mastery 01:es6 introduction
- Brats18 - Multimodal MR image brain tumor segmentation challenge continued 5
- C # use objects comparer to compare objects
- Leetcode-153- find the minimum value in the rotation sort array
- Photovoltaic power generation system and its MPPT control
猜你喜欢
随机推荐
ES6 从入门到精通 # 03:模板字符串
干货!高并发下秒杀商品,你必须知道的9个细节
Luogu 2089 roast chicken
Case analysis of building cross department communication system on low code platform
从单体架构到分布式架构,有哪些坑?
[并发编程基础]-集合的线程安全
Several problems faced by long-term remote work and continuous improvement of organizational automation
General service + multithreading perfectly solves batch processing problems
Doris code structure
Tensorflow入门教程(三十七)——DC-VNet
[featured] expression package bucket map applet (drainage, traffic master, rights and interests take away CPS, with PC background management)
The ultra-low price of domestic chips, while being replaced by domestic products, has led to a large number of exports, putting pressure on American chips
Win11如何增强麦克风?Win11增强麦克风的设置
低代码平台搭建跨部门沟通系统案例分析
Weilai "city" exploration road
Matlab least square fitting
多种方式Map集合遍历
洛谷2089烧鸡
国产芯片价格超低在国产替代的同时大量出口,让美国芯片深感压力
js正则校验只能存在数字和小数点