redis基础命令和数据操作命令学习笔记
redis基础命令和数据操作命令学习笔记
基础命令
安装成功后,redis的启动命令:先修改配置文件、将服务改成默认运行。然后以配置文件启动服务
redis-server config/redis-conf
启动完服务以后就可以以端口6379开启
redis-cli -p 6397
设置值
set key value #设置值
获得值
get key #获得key对应value
清空当前数据库
flushdb
清空所有数据库
flushall
redis默认有16个数据库 0-15
select (数字) #切换数据库 dbsize #查看数据库大小
判断key是否存在
exists #返回0就是不存在,返回1就是存在
移动数据
move key db #将当前数据库的键值移动到其他数据库
设置过期时间
expire key seconds #设置过期时间 ttl key #查看过期时间
查看数据类型
type key
五大数据类型
String
追加String
append key "hello" #向key对应的String中追加hello,如果当前字符串不存在,则创建一个。
自增和自减
incr key #使key的value增加1 decr key #使key的value减少1 incrby key 10 #使key的value自增10,可以设置步长,指定增量 decrby key 10 #使key的value自减10,可以设置步长,指定减量。
可以用来记录文章的浏览记录
截取字符串
getrange key start end #截取字符串长度 getrange key 0 -1 #查看全部字符串。
替换字符串
setrange key offset value #将指定位置的字符串替换成设置好的。
设置和过期时间同时设置
#setex(set with expire) #设置过期时间 setex key 30 "hello" #设置key30秒后过期 #setnx(set if not exist) #不存在时设置 setnx key "redis" #当key不存在时设置成功,如果key存在则创建失败。
批量set和get
# mset 批量设置 # mget 批量获得 mset k1 v1 k2 v2 k3 v3 mget k1 k2 k3 # msetnx 这个命令是具备原子性的 msetnx k1 v1 k4 v4 #其中只要k1或k4存在,剩余那个不存在的也无法创建成功,msetnx具备原子性。
getset组合命令
getset key value #如果key不存在,则返回nil并且设置值;如果key存在,先返回值在设置新的值。可以用来更新操作。
list
list插入读取命令(所有 list的命令都是由l开头的)
lpush list one #将一个或多个值插入到list中,插入到头部(左边) Rpush list one #将一个或多个值插入到list中,插入到尾部(右边) lrange list 0 -1 #获取list的值 lrange list 0 1 #获取区间的值,从头部开始获取。
list移除值
lpop list #移除list的第一个元素,也就是左边的元素。 Rpop list #移除list的最后一个元素,也就是右边的元素。
list获取值
lindex list 1 # 通过下标获取list中的值。
获取list的长度
llen list #返回当前list的长度
移除指定的元素
lrem list 1 one lrem list 2 tow #移除list中指定个数的value
截取list中的元素
ltrim list 1 2 #截取指定的元素
组合命令
rpoplpush #移除最后一个元素并将其加入到另一个列表中 rpoplpush list1 list2 #将list1最后一个元素移除并将其加入到list2中
list更新操作
lset list 0 new #将list中0下标的值更新成new,如果list不存在或list当前下标没有值,这返回失败。
list插入
linsert #将一个元素插入到指定元素的前面后后面。 linsert list before/after "word" "other" #将other插入到word的前面或后面
小技巧
队(Lpush Rpop)从左边进去,从右边拿出就是一个队列。
栈(Lpush Lpop)从左边进去,从左边拿出就是一个栈。
Set
Set存值,取值,判断值是否存在
sadd set "hello" #向set中添加一个值 smembers set #查看set中所有的值 sismember set hello #判断某个值是否在set集合中
获取set集合中的元素个数
scard set #获取set中的元素的个数
移除set中的元素
srem set hello #移除set中的元素。
随机抽取元素
srandmember set #随机抽取一个元素 srandmember set 2 #随机抽取指定个数的元素
随机删除一个set元素
spop set #随机删除一个set中元素。
将一个set中的值移动到另一个set中
smove set set1 "hellp" #将set中的hello移动到set2中。
两个set集合的集合关系
sdiff set1 set2 #输出set1和set2的差集 sinter set1 set2 #输出set1和set2的交集 sunion set1 set2 #输出set1和set2的并集
hash
添加hash的值,获取和删除hash值
hset hsah key value #向hash中添加一个键值对 hget hash key value #从hash中获取一个键值对 hmset hash key value key2 value2 #批量添加hash值 hmget hash key key2 #批量获取hash的值 hgetall hash #获取全部键值对 hdel hash key #删除指定hash值
查看hash中键值对个数
hlen hash #查看hash中键值对的个数
判断hash中某个键值对是否存在
hexists hash key #判断hash中某个键值对是否存在
获取hash中所有的key或所有的value
hkeys #获取所有key hvals #获取所有value
Zset
添加
zadd zset 1 one #向zset中添加值 zadd zset 2 two 3 there #向zset中添加多个值 zrange 0 -1 #遍历所有
排序
zrangebyscore zset -inf +inf #按照scores从小到大排序,只显示值 zrangebyscore zset -inf +inf withscores #按照scores从小到大排序,值和score全都显示。 zrevrange zset 0 -1 #从大到小进行排序
移除
zrem zset value #移除指点元素
获取zset中的个数
zcard zset #获取zset中的元素个数
获取指点区间元素的数量
zcount zset 1 2 #获取指点区间元素的数量
三种特殊类型
geospatial
添加城市信息
geoadd china:city shanghai 120.16 30.24 hangzhou #将杭州的坐标添加到geo中。
获取城市坐标
geopos china:city hangzhou #获取杭州的坐标。
计算两地的距离
geodis china:city beijing hangzhou km #计算北京到杭州的直线距离,最后为单位
以给定的经纬度为圆心,找出某一半径内的元素
georadius china:city 100 35 1000 km #以给定的经纬度为圆心,找出某一半径内的元素 georadius china:city 100 35 1000 km withdist #以给定的经纬度为圆心,找出某一半径内的元素,并显示中间距离。 georadius china:city 100 35 1000 km withcoord #以给定的经纬度为圆心,找出某一半径内的元素,并显示定位信息。 georadius china:city 100 35 1000 km withcoord count 1 #以给定的经纬度为圆心,找出某一半径内的元素,并显示定位信息,在筛选出指定用户
以给定的城市为圆心,找出某一半径内的元素
georadius china:city beijing 1000 km #以北京圆心,找出某一半径内的元素
以hash值返回位置信息
geohash china:city beijing #以hash值返回北京信息。
geo底层是Zset,可以通过Zset进行操作geo。
Hyperloglog
命令
pfadd key 1 2 3 4 5 #创建 pfcount key #统计数量 pfmerge key3 key ley2 #将key和key2合并成key3,并去掉重复元素
Bitmaps
命令
setbit key 1 0 #按位添加数据 getbit key 1 #查看1位置是否为0 bitcont key #统计
此文章是命令的学习总结,可能会忽视很多命令,也可能会有错误,仅供参考。
事务,Jedis,哨兵模式等后续更新。
redis基础命令和数据操作命令学习笔记相关推荐
- 大数据HiveSQL学习笔记三-查询基础语法以及常用函数
大数据HiveSQL学习笔记三-查询基础语法以及常用函数 一.基础语法 1.SELECT -列名- FROM -表名- WHERE -筛选条件- 如:需要根据城市,性别找出匹配的10个用户 user_ ...
- ES6基础3(扩展)-学习笔记
文章目录 ES6基础3(扩展)-学习笔记 字符串扩展 数值扩展 函数扩展 扩展运算符 ES6基础3(扩展)-学习笔记 字符串扩展 //扩展//字符串扩展charAt(); //返回指定索引位置的字符 ...
- 黑马程序员新版Linux零基础快速入门到精通——学习笔记
01初识Linux 1.1.操作系统概述 1.1.1.硬件和软件 我们所熟知的计算机是由硬件和软件组成的. 硬件: 计算机系统中由电子.机械和光电元件等组成的各种物理装置的总称. (看的见.摸得着 ...
- Linux命令篇 linux命令大全简洁明了 linux学习笔记
Linux命令篇 linux命令大全简洁明了 linux学习笔记 Linux 命令大全 文章目录 Linux 命令大全 一. 常用的基础命令 查看目录: 切换目录: 创建和删除: 拷贝和移动文件: 查 ...
- ES6基础5(Promise)-学习笔记
文章目录 ES6基础5(Promise)-学习笔记 Promise 三个状态 状态转换 手写Promise源码 同步异步概念 jquery中 串行并行 async-await 微任务 宏任务 ES6基 ...
- ES6基础4(数据结构)-学习笔记
文章目录 ES6基础4(数据结构)-学习笔记 set map symbol ES6基础4(数据结构)-学习笔记 set //set 数据结构 类似数组 成员信息唯一性var s = new Set() ...
- 大数据业务学习笔记_学习业务成为一名出色的数据科学家
大数据业务学习笔记 意见 (Opinion) A lot of aspiring Data Scientists think what they need to become a Data Scien ...
- python气象数据可视化学习笔记6——利用python地图库cnmaps绘制地图填色图并白化
文章目录 1. 效果图 2. cnmaps简介及安装 2.1 写在前面 2.2 cnmaps简介和安装 3. 导入库 4. 定义绘图函数 4.1 使用get_adm_maps返回地图边界 4.2 ax ...
- React学习:路由定义及传参、数据复用-学习笔记
文章目录 React学习:路由定义及传参.数据复用-学习笔记 在React中使用react-router-dom路由 简单例子 路由定义及传参 React学习:路由定义及传参.数据复用-学习笔记 在R ...
最新文章
- 【Android】Intent介绍及Intent在Activity中的使用方法
- 计算机科学学院陈瑜,浙江大学城市学院计算机与计算科学学院 计算机科学与技术 陈则伦...
- ViewBag 找不到编译动态表达式所需的一种或多种类型,是否缺少引用?
- 一個便宜的高负载网站架构
- Memcache监控小工具stats命令
- python爬虫接口_python爬虫之百度API调用方法
- RabbitMq下载和安装linuxcenteros安装
- python植物大战僵尸代码例_python实现植物大战僵尸游戏实例代码
- 24小时在线要饭网系统源码 全开源
- CAD分图后批量重命名图纸名称
- 自动驾驶汽车技术介绍【硬件+软件】
- 50--出租车计费器
- l/min是什么单位
- GitHub---团队合作
- U盘文件格式化后怎么快速恢复
- java计算机毕业设计问卷调查系统源码+数据库+系统+lw文档+mybatis+运行部署
- 初中生关于计算机的科幻作文600字,关于科幻的作文初中集锦5篇
- 网站性能优化解决方案
- GEE学习笔记1:GEE初识
- WebDAV之葫芦儿·派盘+NMM