redis数据结构与主要命令
redis的数据类型有:string、hashes、lists、sets,sorted sets
1、string类型:
set、get添加键值对获得键值对、如果多次赋值会覆盖掉原来的value
setnx会自动判断是否存在,如果存在返回0不存在返回1,并且不会覆盖原来的value
setex设置失效时间(毫秒)setex color 10 red
setrange设置第几个开始替换setrange email 6 163.com
mset 设置多个key-value mset k1 v1 k2 v2
msetnx具体情况和setnx类似,设置多个的时候返回成功的个数
getset设置一个key的value并且返回一个key的原来的值
getrange返回第几个到第几个getrange email 0 5
mget 获得多个key-value的值 mget k1 k2
incr自动步增incr key6
incrby自动规定步增incrby key6 5、incrby key6 -5
decr同上自减
decrby同上自减
append指定的key追加value,返回生成字符串长度
strlen查看字符串长度
2、hashes类型:相对较节省空间(具体的意思同上)
hset user1 username admin 设置key 可以覆盖
hsetnx user2 username admin 设置不重复keys
hmset user3 username admin password admin age 2 state 2 多个设置
hmget user3 username password age state 多个获得
hincrby user3 age 19 自增
hexists user3 username 查看字段是佛存在
hlen user3 查看hash的长度
hdel user3 age 删除hash里面对应的名字的value
hkeys user3 返回所有的keys
hvals user3 返回所有的values
hgetall user3 同时返回keys的values
3、lists类型(相对于队列和栈)
lpust mylistname1 2 3 放入 、先进后出
lrange mylistname 0 -1从0取到尾
rpust mylistname1 2 3 放入 、先进先出
lrange mylistname 0 -1从0取到尾
linsert mylistname before one two 从尾到顶元素的之前插入
lset mylistname 0 four 改变下标为0的元素、对于lpush内容是从上向下递增标注下标的
lrem mylistname 2 two 在mylistname这个list中删除value为two的两个数据
ltrim mylistname 1 -1 保留mylistname里面从第一个元素到第二个元素的内容、别的元素全部删除
lpop mylistname 从头部弹出元素
rpop mylistname 从尾部弹出一个元素
rpoplpush mylistname1 mylistname2 从第一个尾部弹出一个元素放入第二个头部
lindex mylistname 1 取得索引value
llen mylistname 取得list的长度
4、sets集合、很类似于数学上学习的集合
sadd mysetname values1 插上set里面的value
smembers mysetname 查看mysetname里面的value
srem mysetname values1 删除values1 的值
spop mysetname 随即弹出一个数
sdiff mysetname1 mysetname 2 返回两个set的差集谁在前面把谁作为参照物
sdiffstore mysetname3 mysetname2 mysetname1 把2 和1 的不同存入到3中
sinter mysetname1 mysetname2 返回两个set的交集
sinterstore mysetname3 mysetname2 mysetname1 返回两个set的交集放到3里面
sunion mysetname2 mysetname1 返回两个set的并集
sunionstore mysetname3 mysetname2 mysetname1 返回两个set的并集,存储到3中、关键在上面的这些操作都可以有≥两个参数
smove mysetname1 mysetname2 three 把1中的three元素剪切到2中
scard mysetname 返回set里面的元素个数
sismember mysetname one 判断one是不是集合的元素
srandmember mysetname 随即返回一个元素
5、sorted sets 有序集合
zadd myzsetname 1 one插入有序集合,并且指定顺序
zrange myzsetname 0 -1 [withscores] 全部取出,并且显示顺序号
zrem myzsetname one 删除元素
zincrby myzsetname 2 one 添加元素,自动增长
zrank myzsetname one 根据索引从小到大排序,然后显示索引值(这个可以做访问量什么的排名之类的)
zrevrank myzsetname one 和上面的意思一样,但是是scores从打到小排序
zrangebyscore myzsetname 0 -1 withscores 从一定区间里面按照scores返回
zcount myzsetname2 3 返回2 3中间的所有的数量
zremrangebyrank myzsetnage 2 3 删除2 和3 位置,按照索引来删除
redis 常用命令
redis的常用命令主要分为两个方面、一个是键值相关命令、一个是服务器相关命令
1、键值相关命令
keys * 取出当前所有的key
exists name 查看n是否有name这个key
del name 删除key name
expire confirm 100 设置confirm这个key100秒过期
ttl confirm 获取confirm 这个key的有效时长
select 0 选择到0数据库 redis默认的数据库是0~15一共16个数据库
move confirm 1 将当前数据库中的key移动到其他的数据库中,这里就是把confire这个key从当前数据库中移动到1中
persist confirm 移除confirm这个key的过期时间
randomkey 随机返回数据库里面的一个key
rename key2 key3 重命名key2 为key3
type key2 返回key的数据类型
2、服务器相关命令
ping PONG返回响应是否连接成功
echo 在命令行打印一些内容
select 0~15 编号的数据库
quit /exit 退出客户端
dbsize 返回当前数据库中所有key的数量
info 返回redis的相关信息
config get dir/* 实时传储收到的请求
flushdb 删除当前选择数据库中的所有key
flushall 删除所有数据库中的数据库
redis数据结构与主要命令的更多相关文章
- 深入剖析Redis系列:Redis数据结构与全局命令概述
前言 Redis 提供了 5 种数据结构.理解每种数据结构的特点,对于 Redis 的 开发运维 非常重要,同时掌握 Redis 的 单线程命令处理 机制,会使 数据结构 和 命令 的选择事半功倍. ...
- Redis 数据结构解析和命令指南
命令參考文档:redis commands - 你或许已经知道Redis并非简单的key-value存储.实际上他是一个数据结构server.支持不同类型的值. 也就是说.你不必只把字符串当作键所指向 ...
- 3年Java开发都知道的Redis数据结构和通用命令
Redis的数据结构 Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景. 五种基础数据结构 String:字符串,是构建其他数据结构的基础 ...
- redis数据结构和常用命令
redis常用数据结构 String 最简单的K_V,value可以是数字或者字符串,使用场景:微博数.普通计数,命令:get set incr(加1) decr(减1) mget(获取多个值),se ...
- Redis数据结构及常用命令(草稿)
通用命令 数据类型 string 字符 list 列表 set 集合 zset 有序集合 hash 散列(字典中的字典) bitmap 位图 hyperloglog
- redis学习(二) redis数据结构介绍以及常用命令
redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...
- Redis 常用数据结构及其控制命令整合
Redis 键值支持5种基本结构,分别是字符串,列表,哈希,集合,有序集合.每一种数据结构都有对应的取值和设值命令,辅助命令,除此之外,还有一些全局命令,用来管理Redis存储的所有 键. 全局命令 ...
- redis 五大数据结构__常用命令
linux 下下载redis数据库 apt install redis 如果提示权限不够的话, 直接提权: sudo apt install redis-server linux启用.停止服务 ser ...
- RedisTemplate访问Redis数据结构(介绍和常用命令)
Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有序集 ...
随机推荐
- c# 基础复习1
1. 类和对象 1.1 类和对象的概念 类:对象的类型,它不同于 int 等基本数据类型,因为类具有行为:也可以说是具有相 同特征和行为的一组对象的集合. 对象:对象是一个个你能看得见,摸得着的实体, ...
- Python新手学习基础之函数-全局变量和局部变量
全局变量和局部变量 我们通常把定义在函数外的变量成为全局变量,定义在函数内的变量称为局部变量,顾名思义,全局变量的作用域是整个代码段,局部变量的作用域就只是在它所属的代码段,变量只在它的作用域里有效. ...
- HTML&CSS基础学习笔记1.17-表格的头部与尾部
表格的头部和尾部 既然有标签表示表格的主体,那么自然表格的头部和尾部也有对应的标签. HTML中使用<thead>标签表示表格的头部,使用<tfoot>标签表示表格的尾部. 有 ...
- OpenUrl 的跨平台实现
OpenUrl 是 iOS 中 UIApplication 提供的一个函数,用于调用其它程序.实际上各个平台都有自己的实现,这里提供一个直接封装完的跨平台版本给大家. Delphi ...
- Qt编程之实现属性窗口编辑器
类似于这种: 就是右下角这个框,有属性名字和对应的value编辑. 这个Widget是作为一个QDockWidget被添加到QMainWindow中的.QMainWindow必须要有centralWi ...
- Android应用程序插件化研究之AssertManager
最近在研究Android应用的插件化开发,看了好几个相关的开源项目.插件化都是在解决以下几个问题: 如何把插件apk中的代码和资源加载到当前虚拟机. 如何把插件apk中的四大组件注册到进程中. 如何防 ...
- MySQL的SQL_CALC_FOUND_ROWS真的很慢么?
分页程序一般由两条SQL组成: SELECT COUNT(*) FROM ... WHERE .... SELECT ... FROM ... WHERE LIMIT ... 如果使用SQL_CALC ...
- logstash 判断接口响应时间发送zabbix告警
input { file { type => "zj_api_access" path => ["/data01/applog_backup/zjzc_log ...
- 2015第22周一Web性能测试工具及IE扩展区别
在高性能web测试工具推荐http://www.jb51.net/article/23034.htm中发现了dynaTrace 感觉很不错,不但可以检测资源加载瀑布图,而且还能监控页面呈现时间,CPU ...
- SWF加解密资源索引之加密混淆篇【转】
============================ SWF加解密资源索引之加密混淆篇 ============================ [心得] swf加密混淆器(带源码) http:/ ...