redis简介

Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。

Redis有三个主要特点,使它优越于其它键值数据存储系统

  • Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。
  • 与其它键值数据存储相比,Redis有一组相对丰富的数据类型。
  • Redis可以将数据复制到任意数量的主机中

Redis的一些优点

以下是 Redis的一些优点

  • 异常快 -Redis非常快,每秒可执行可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作
  • 支持丰富 -Redis支持开发人员常用 的大多数数据类型,例如列表
    、集合、排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
  • 操作具有原子性 -所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
    -多实用工具 -Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如:web应用程序中的会话,网页命中计数等。

安装Redis

windows

[下载地址](https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100)

linux

sudo apt install redis-server

查看是否启动

netstat -ant |grep 6379

配置文件

sudo vi /etc/redis/redis/conf选择数据库 1
select 1显示所有的键值
keys *删除键值  del
del name
一、string

概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片
、序列化对象等

1、设置

a、设置键值
set key value
例如:

set name 'zh'

b、设置键值及过期时间,以秒为单位
setex key seconds value
例如:

setex name 10 'zh_01'

c、设置多个键值
mset key value [key value…]
例如:

mset name "lili" age 18 sex 'girl'
2、获取

a、根据键获取值,如果键不存在则返回None(null o nil)
get key

get name

b、根据多个键获取多个值
mget key [key…]

mget name age
3、运算

要求:值是字符串类型的数字
a、将key对应的值加1
incr key
例如:

incr age

b、将key对应的值减1
decr key

decr age

c、将key对应的值加整数
incrby key intnum

incrby age 10

d、将key对应的值减整数
decrby key intnum

decrby age 5
4、其它

a、追加值
append key value

append name 'hell'

b、获取值长度
strlen key

strlen name
二、key
1、查找键,参数可以模糊匹配

keys pattern

2、判断键是平否存在,如果存在返回1,不存在返回0

exists key

3、删除键及对应的值

del key [key…]

4、对已经存在的键值设置过期时间,以秒为单位

expire key age

5、查看有效时间,以秒为单位

ttl key

三、hash

概述:hash用于存储对象

1、设置

a、设置单个值

#语法 key 是hash表的表名,field是字段名,
hset set field valuehset site google www.google.com

b、设置多个属性的值

#语法
hmset key field value [field vale ....]
hmset site jd jd.com 360 360com
2、获取

a、获取一个属性的值

#语法
hget key field
hget site google

b、获取多个属性的值

#语法
hmget key filed [filed ...]
hmget site baidu jd

c、获取所有属性和值

#语法
hgetall key
hgetall site

d、获取所有属性

hkeys key

e、获取所有值

hvals key

f、返回包含数据的个数

hlen key
3、其它

a、判断属性是否存在,存在返回1 ,不存在返回0

hexitsts key field

b、删除属性及值

hdel key field [field ...]
四、list

概述 :列表的元素类型是string,按照插入的顺序排序,在列表的头部或尾部添加元素

1、设置

a、在头部插入

#key 为列表名
lpush key value [value]

b、在尾部插入

rpush key value [value]

c、在一个元素的前/后插入新元素

linsert key before|after aa value

d、设置指定索引的元素值

lset key index value

注意:index 从0开始
注意:索引值可以是负数,表示偏移量是从list的尾部开始,如-1表示最后一个元素

2、获取

a、移除并返回key对应的list的第一个元素

lpop key

b、移除并返回key对应的list的最后一个元素

rpop key

c、返回存储在key的列表中的指定范围的元素

lrange key start end

注意:start end 都是从0开始
注意:偏移量可以是负数

3、其它

a、裁剪列表,改为原集合的一个子集

ltrim key start end

注意:start end都是从为开始
注意:偏移量可以是负数

b、返回存储在key里的list的长度

llen key

c、返回列表中索引对应的值

index key index
五、set

概述:无序集合,元素类型为String类型,元素具有唯一性,不重复
1、设置
a、添加元素

sadd key member[member]

2、获取
a、返回key集合中的所有元素

smembers key

b、返回集合元素个数

scard key

3、交集
a、求多个集合的合集 #intersect

sinter key[key ...]

b、求多个集合的差集 #difference

sdiff key [key ...]

c、求多个集合的合集

sunion key [key ...]

d、判断元素是否在集合中,存在返回1,不存在返回0

sismember key member

e、srem 删除集合中一个集合

srem key member
六、zset

概述:
a、有序集合,元素类型为String,元素具有唯一性,不能重复
b、每个元素都会关联一个double类型的score(表示权重),通过权重的大小排序,元素的score可以相同
1、设置
a、添加

#语法
zadd key score member [score member ...]#示例
zadd z1 1 a 5 b 3 c 2 d 4 e

2、获取
a、返回指定范围的元素 #withscores

zrange key start end
同时返回    分数
zrange key start end

b、返回元素个数

zcard key

c、返回有序集合key中,score在min和max之间的元素的个数

zcount key min max

d、返回有序集合key中,成员member的score值

zscore key member

本文章引用于千锋教育

redis数据库--学习笔记相关推荐

  1. Redis数据库学习笔记

    一.NoSql(非关系型数据库) NoSQL:NoSQL = Not Only SQL 非关系型数据库 ​ NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付w ...

  2. 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)

    数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...

  3. Redis 进阶学习笔记

    Redis进阶学习笔记 阅读Redis.conf配置文件 # 61, 绑定的 IP , 一般注释掉该命令,这个吗,命令表示仅接受本机的(IP为本机)客户端连接, bind 127.0.0.1 # 80 ...

  4. 数据库学习笔记(1)

    数据库学习笔记(1) 文章目录 数据库学习笔记(1) @[toc] DB 基本概念 连接数据库的三要素 元数据 mongoose 查询符合对象数组中某个对象的值 redis 是什么 存储的数据类型 r ...

  5. redis安全学习笔记

    redis安全学习笔记 [toc] 文章部分内容首发于xray社区公众号 基础 https://www.runoob.com/redis/redis-tutorial.html 环境 : ubuntu ...

  6. linux数据库创建score表,MySQL数据库学习笔记

    MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...

  7. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. 【数据库学习笔记】——cursor游标对象

    目录 1.创建cursor对象 2.cursor对象常用方法 3.操作数据库的常见流程(五部曲) 课程视频链接: 第14节 Python操作数据库_哔哩哔哩_bilibili666https://ww ...

  9. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

最新文章

  1. mysql 脑裂的问题,DRBD脑裂问题故障处理
  2. java ee domain作用_java EE应用概述
  3. OpenCV Gunnar Farneback的密集光流算法(附完整代码)
  4. SpringBoot+MyBatis登录案例
  5. STL库中string类内存布局的探究
  6. 各种Exit退出函数用法
  7. Arthas - 开源 Java 诊断工具
  8. web自动化如何在不同浏览器运行_自动化决策环节的“心脏”将如何与众不同?...
  9. 美国热搜 “1个字形容2020年”:IBM 的代码回复太太太亮了!
  10. stm32跑马灯程序
  11. 【论文阅读】2018-基于深度学习的网络流量分类及异常检测方法研究_王伟
  12. 行业边缘丨中国电科发布“海雀”处理器;中科海微获千万融资;联想发布边缘服务器;风河加入CNCF云原生计算基金会成为银牌会员;...
  13. python里的百分号_python中的百分号
  14. 亚马逊欧洲站的VAT需要多久申报一次
  15. 微信小程序---显示与隐藏hidden
  16. skinsdog 狗网官网CSGO饰品皮肤开箱网站可直接取回
  17. 网络管理之网络状态测试命令
  18. 卡塔尔世界杯终局之战,阿根廷VS法国,是老将加冕还是新王登基?
  19. 标准bootstrap3 form表单美化
  20. iOS CAReplicatorLayer 复制图层

热门文章

  1. 山东标梵讲解文案策划需要的写法
  2. PC端使用融云IM即时通讯
  3. C标准库你知道哪一些?
  4. 链表的回文结构@Nowcoder—— 单链表
  5. 步进电机的匀加速程序
  6. 被商业化「催熟」的B站
  7. Android CLAT
  8. 超级详细的 VirtualBox 虚拟机安装 及入门教程
  9. 论弱逼的自我修养——2014集训队CF试题泛做
  10. IDEA新建项目系列(8)——IDEA创建SSH项目