redis数据库--学习笔记
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数据库--学习笔记相关推荐
- Redis数据库学习笔记
一.NoSql(非关系型数据库) NoSQL:NoSQL = Not Only SQL 非关系型数据库 NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付w ...
- 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)
数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...
- Redis 进阶学习笔记
Redis进阶学习笔记 阅读Redis.conf配置文件 # 61, 绑定的 IP , 一般注释掉该命令,这个吗,命令表示仅接受本机的(IP为本机)客户端连接, bind 127.0.0.1 # 80 ...
- 数据库学习笔记(1)
数据库学习笔记(1) 文章目录 数据库学习笔记(1) @[toc] DB 基本概念 连接数据库的三要素 元数据 mongoose 查询符合对象数组中某个对象的值 redis 是什么 存储的数据类型 r ...
- redis安全学习笔记
redis安全学习笔记 [toc] 文章部分内容首发于xray社区公众号 基础 https://www.runoob.com/redis/redis-tutorial.html 环境 : ubuntu ...
- linux数据库创建score表,MySQL数据库学习笔记
MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 【数据库学习笔记】——cursor游标对象
目录 1.创建cursor对象 2.cursor对象常用方法 3.操作数据库的常见流程(五部曲) 课程视频链接: 第14节 Python操作数据库_哔哩哔哩_bilibili666https://ww ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
最新文章
- mysql 脑裂的问题,DRBD脑裂问题故障处理
- java ee domain作用_java EE应用概述
- OpenCV Gunnar Farneback的密集光流算法(附完整代码)
- SpringBoot+MyBatis登录案例
- STL库中string类内存布局的探究
- 各种Exit退出函数用法
- Arthas - 开源 Java 诊断工具
- web自动化如何在不同浏览器运行_自动化决策环节的“心脏”将如何与众不同?...
- 美国热搜 “1个字形容2020年”:IBM 的代码回复太太太亮了!
- stm32跑马灯程序
- 【论文阅读】2018-基于深度学习的网络流量分类及异常检测方法研究_王伟
- 行业边缘丨中国电科发布“海雀”处理器;中科海微获千万融资;联想发布边缘服务器;风河加入CNCF云原生计算基金会成为银牌会员;...
- python里的百分号_python中的百分号
- 亚马逊欧洲站的VAT需要多久申报一次
- 微信小程序---显示与隐藏hidden
- skinsdog 狗网官网CSGO饰品皮肤开箱网站可直接取回
- 网络管理之网络状态测试命令
- 卡塔尔世界杯终局之战,阿根廷VS法国,是老将加冕还是新王登基?
- 标准bootstrap3 form表单美化
- iOS CAReplicatorLayer 复制图层