redis安装及常用命令

1. 正文--redis [重点]

1.什么是NOSQL
2.NOSQL和RDBMS的区别
3.NOSQL的产品
4.介绍Redis
5.安装Redis
6.redis支持的数据类型

2. 什么是NOSQL

NOSQL(not only sql) 不仅是sql,它是所有非关系数据库的一种统称。

3. NOSQL和RDBMS的区别

RDBMS --关系型数据库

  • 高度组织化结构化数据。 --表结构 列 列....

  • 结构化查询语言(SQL) sql语句

  • 数据和关系都存储在单独的表中。

  • 数据操纵语言DML,数据定义语言DDL

  • 严格的一致性. ACID 原子性 隔离性 持久性 一致性

  • 基于事务----都支持事务

NoSQL

  • 代表着不仅仅是SQL

  • 没有声明性查询语言

  • 键 - 值对存储。

  • 非结构化和不可预知的数据 字符串 集合 对象 队列

  • 高性能,高可用性和可伸缩性。 ----便于搭建集群---挂载

4. NOSQL的产品

redis----结构基于key和value的形式
mongodb---介于关系型数据库和非关系数据库之间

5. redis简介

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API .[很多语言可以连接该redis]

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构[存放的数据类型],例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。

5.2 特点

1.Redis读取的速度是110000次/s,写的速度是81000次/s。 
2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化,默认在内存中进行计算。可以持久化到磁盘。
5. 主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。

6. 安装redis

(1)把redis软件放入centos系统中并解压

tar -zxvf xxxx.tar.gz

(2)进入到解压目录进行编译

make 

(3)安装---可以在任意目录下使用redis的脚本命令

make install

(4)启动redis

redis-server  redis.conf //配置文件所在的路径

6.2 redis客户端连接redis服务器

redis-cli  连接本地redis服务

redis-cli -h 192.168.223.166 -p 6379
-h: redis服务器主机的ip
-p: redis服务器的端口号

6.3 聊聊redis的配置文件

(1)开启后台启动

查看redis的进程:

ps -ef | grep redis

如何关闭redis进程

kill -9 进程号

(2) 设置redis远程连接

验证:

6.4 安装redis的客户端的UI软件

等价于==navicat

7. redis中常用的命令

http://www.redis.net.cn/order/

http://redisdoc.com/

7.1 关于key的命令

set key value

keys *: 查看redis中所有的key
del key [key....]: 删除指定key的内容
expire key seconds:  为指定的key设置过期时间
ttl key: 查看当前的key的剩余时间
exists key: 判断指定的key是否存在  返回0表示不存在指定的key  否则表示存在指定的key

7.2 关于数据库的命令

默认redis支持数据库的个数为16个

select n: 选择数据库

flushdb: 清空当前库

flushall: 清空所有库的数据

7.3 redis支持的数据类型

http://www.redis.net.cn/order/

http://redisdoc.com/

这里所说的数据类型----指的是value的数据类型。

String 字符串类型

Hash 对象类型

List: 队列类型

Set: 集合类型

ZSet: 有序集合类型.

不同的数据类型有不同的命令。

7.3.1 String 字符串类型

表示它的value为字符串类型,它是使用最多的类型,因为任意数据类型都可以转化为字符串。

value存储值的大小:512M.

1. set key value: 设置指定 key 的值

2. get key 获取指定 key 的值。

3. mset key value key value .... 同时设置一个或多个 key-value 对。

4. mget key key ....  获取所有(一个或多个)给定 key 的值。

5. incr keykey 中储存的数字值增一。 点赞 收藏

6. decr keykey 中储存的数字值减一

7. setnx key value 只有在 key 不存在时设置 key 的值。

set key value:

mset key value key value:

get key:

mget key key key....:

incr key:

decr key:

setnx key value:

7.3.2 Hash类型

表示redis的value类型为Hash类型,一般存放对象数据。

1. hset key field value      将哈希表 key 中的字段 field 的值设为 value 。

2. hget key field   获取存储在哈希表中指定字段的值/td>

3. hgetall key   获取在哈希表中指定 key 的所有字段和值

4. hkeys  key   获取所有哈希表中的字段

5.hvals key  	获取哈希表中所有值

hset key field value field value ......

hget key field

hgetall key:

hkeys key:

hvals key:

flushall

7.3.3 list 队列

value 可以是一个队列---该队列的值可以重复而且有序。

1. LPush key  value value value...	将一个或多个值插入到列表头部

2. lrange key start end   获取列表指定范围内的元素

Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

lpop key   移出并获取列表的第一个元素

  1. lpush key value value ....
  2. lrange key start end
  3. lpop key 获取并移除第一个元素

7.3.4 set集合类型

无序不允许重复.

1. sadd key value value ....向集合添加一个或多个成员

smemebers key 返回集合中的所有成员

 SRANDMEMBER KEY 随机获取一个或多个元素

sinter key key: 返回给定所有集合的交集

7.3.5 sort set有序集合

和上面的set区别在于多了一个score分数列----- 排行耪

zadd key  score value score value :向有序集合添加一个或多个成员,或者更新已存在成员的分数

zrange key    	通过索引区间返回有序集合成指定区间内的成员

ZREVRANGE key start end 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序

posted @   吃小孩子不吐皮  阅读(355)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示