Redis简介以及命令操作
Redis简介
什么是Redis
Redis是用C语言开发的一个开源的高性能键值对key-value
数据库,官方提供测试数据,50
个并发执行
100000
个请求,读的速度是110000次/s
,写的速度是81000次/s
,且Redis
通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis
支持的键值数据类型如下:
1) 字符串类型 string
2) 哈希类型 hash : map格式
3) 列表类型 list : linkedlist格式。支持重复元素
4) 集合类型 set : 不允许重复元素
5) 有序集合类型 sortedset:不允许重复元素,且元素有
Redis的应用场景
- 缓存(数据查询、短连接、新闻内容、商品内容等等)
- 聊天室的在线好友列表
- 任务队列。(秒杀、抢购、12306等等)
- 应用排行榜
- 网站访问统计
- 数据过期处理(可以精确到毫秒
- 分布式集群架构中的session分离
Nosql
NoSQL(NoSQL = Not Only SQL)
,意即“不仅仅是SQL
‘’,是一项全新的数据库理念,泛指非关系型的数据库。
主流的Nosql数据库:
键值
(Key-Value)
存储数据库
相关产品:Tokyo Cabinet
/Tyrant
、Redis
、Voldemort
、Berkeley DB
典型应用: 内容缓存,主要用于处理大量数据的高访问负载。
数据模型: 一系列键值对
优势: 快速查询
劣势: 存储的数据缺少结构化列存储数据库
相关产品:Cassandra
,HBase
,Riak
典型应用:分布式的文件系统
数据模型:以列簇式存储,将同一列数据存在一起
优势:查找速度快,可扩展性强,更容易进行分布式扩展
劣势:功能相对局限文档型数据库
相关产品:CouchDB
、MongoDB
典型应用:Web
应用(与Key-Value
类似,Value
是结构化的)
数据模型: 一系列键值对
优势:数据结构要求不严格
劣势: 查询性能不高,而且缺乏统一的查询语图形
(Graph)
数据库
相关数据库:Neo4J
、InfoGrid
、Infinite Graph
典型应用:社交网络
数据模型:图结构
优势:利用图结构相关算法。
劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案Redis命令操作
字符串类型String
存储:
set key value
127.0.0.1:6379> set username zhangsan OK
获取:
get key
127.0.0.1:6379> get username "zhangsan"
删除:
del key
127.0.0.1:6379> del age (integer) 1
哈希类型Hash
存储:
hset key field value
127.0.0.1:6379> hset myhash username lisi (integer) 1 127.0.0.1:6379> hset myhash password 123 (integer) 1
获取:
hget key field
: 获取指定的field对应的值127.0.0.1:6379> hget myhash username "lisi"
hgetall key
:获取所有的field和value127.0.0.1:6379> hgetall myhash 1) "username" 2) "lisi" 3) "password" 4) "123"
删除:
hdel key field
127.0.0.1:6379> hdel myhash username (integer) 1
列表类型List
添加:
lpush key value
: 将元素加入列表左表rpush key value
:将元素加入列表右表
127.0.0.1:6379> lpush myList a (integer) 1 127.0.0.1:6379> lpush myList b (integer) 2 127.0.0.1:6379> rpush myList c (integer) 3
获取:
lrange key start end
:范围获取127.0.0.1:6379> lrange myList 0 -1 1) "b" 2) "a" 3) "c"
3.删除
lpop key
: 删除列表最左边的元素,并将元素返回rpop key
: 删除列表最右边的元素,并将元素返回
集合类型 Set
存储:
sadd key value
127.0.0.1:6379> sadd myset a (integer) 1 127.0.0.1:6379> sadd myset a (integer) 0
获取:
smembers key
:获取set集合中所有元素127.0.0.1:6379> smembers myset 1) "a"
删除:
srem key value
:删除set集合中的某个元素127.0.0.1:6379> srem myset a (integer) 1
有序集合类型 Sortedset
不允许重复元素,且元素有顺序。每个元素都会关联一个double
类型的分数。redis
正是通过分数来为集合中的成员进行从小到大的排序。
存储:
zadd key score val
127.0.0.1:6379> zadd mysort 60 zhangsan (integer) 1 127.0.0.1:6379> zadd mysort 50 lisi (integer) 1 127.0.0.1:6379> zadd mysort 80 wangwu (integer) 1
获取:
zrange key start end [withscores]
127.0.0.1:6379> zrange mysort 0 -1 1) "lisi" 2) "zhangsan" 3) "wangwu" 127.0.0.1:6379> zrange mysort 0 -1 withscores 1) "zhangsan" 2) "60" 3) "wangwu" 4) "80" 5) "lisi" 6) "50"
删除:
zrem key value
127.0.0.1:6379> zrem mysort lisi (integer) 1
通用命令
keys *
: 查询所有的键type key
: 获取键对应的value
的类型del key
:删除指定的key val
原文地址:https://www.cnblogs.com/chen88/p/11538395.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 类及数据库的应用,G-MARK网站数据Python爬虫系统的构建
- 获取素材图无忧,Pixabay图库网Python多线程采集下载
- Python关键词数据采集案例,5118查询网站关键词数据采集
- Python结巴分词,字符串余弦相似度算法实现关键词筛选及整理
- git的分支远程连接和远程分支的拉取推送及冲突处理
- requests session的应用,python金点设计奖数据爬虫
- 站长工具关键词挖掘采集,Python关键词批量挖掘采集工具
- python百度关键词相关搜索词采集,链轮查询采集exe工具
- Python最火爬虫框架Scrapy入门与实践,豆瓣电影 Top 250 数据采集
- Python爬虫三种解析方式,Pyhton360搜索排名查询
- Python关键词百度指数采集,抓包Cookie及json数据处理
- 常用的package.json,还有这么多你不知道的骚技巧
- 【词库】Python关键词筛选分类,Levenshtein编辑距离算法分词
- 爬取数据缺失的补坑,Python数据爬取的坑坑洼洼如何铲平
- 如何开发跨框架的组件