Redis的常用命令及数据类型

Redis支持的五种数据类型

  • 字符串 (string)
  • 字符串列表 (list)
  • 散列 (hash)
  • 字符串集合 (set)
  • 有序字符串集合 (sorted-set)

key(键)

keys * 获取所有的key
select 0 选择第一个库
move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动
flush db      清除指定库
randomkey     随机key
type key      类型
set key1 value1 设置key
get key1    获取key
mset key1 value1 key2 value2 key3 value3
mget key1 key2 key3
del key1   删除key
exists key      判断是否存在key
expire key 10   10过期
pexpire key 1000 毫秒
persist key     删除过期时间

string (字符串)

  • String类型是以二进制进行操作,最多容量数据的长度是512M
set name cxx
get name
getrange name 0 -1        字符串分段
getset name new_cxx       设置值,返回旧值
mset key1 key2            批量设置
mget key1 key2            批量获取
setnx key value           不存在就插入(not exists)
setex key time value      过期时间(expire)
setrange key index value  从index开始替换value
incr age        递增
incrby age 10   递增
decr age        递减
decrby age 10   递减
incrbyfloat     增减浮点数
append          追加
strlen          长度
getbit/setbit/bitcount/bitop    位操作

hash(散列)

  • 每一个Hash可以储存(2^32-1)个:4294967295个键值对

  • String Key和String Value的map容器

hset myhash name cxx
hget myhash name
hmset myhash name cxx age 25 note "i am notes"
hmget myhash name age note   
hgetall myhash               获取所有的
hexists myhash name          是否存在
hsetnx myhash score 100      设置不存在的
hincrby myhash id 1          递增
hdel myhash name             删除
hkeys myhash                 只取key
hvals myhash                 只取value
hlen myhash                  长度

list(字符串列表)

  • 经常用于消息队列的服务,多个程序之间的交互
lpush mylist a b c  左插入
rpush mylist x y z  右插入
lrange mylist 0 -1  数据集合
lpop mylist  弹出元素
rpop mylist  弹出元素
llen mylist  长度
lrem mylist count value  删除
lindex mylist 2          指定索引的值
lset mylist 2 n          索引设值
ltrim mylist 0 4         删除key
linsert mylist before a  插入
linsert mylist after a   插入
rpoplpush list list2     转移列表的数据

set(字符串集合)

  • Set集合中不允许出现重复的元素

  • 使用场景:

    1、跟踪一些唯一性数据:访问某博客的IP信息(将访问者的IP存入redis中)

    2、用于维护数据对象之间的关联关系(所有购买某一电子设备的用户的ID)

sadd myset redis 
smembers myset       数据集合
srem myset set1         删除
sismember myset set1 判断元素是否在集合中
scard key_name       个数
sdiff | sinter | sunion myset1 myset2 操作:集合间运算:差集 | 交集 | 并集
srandmember          随机获取集合中的元素
spop                 从集合中弹出一个元素

sorted-set(有序字符串集合)

  • 与set类似,但每个成员都有一个关联的score属性,用于排序。成员不可以重复,score可以重复
  • sorted-set中的每一个成员都有一个分数与之关联,redis通过这个分数来为集合中的成员进行排序(成员必须唯一,但是分数可以重复)
  • Sorted-Set : 字符串集合,不允许元素重复。存储元素时需要关联存储一个对应的分数,分数用于排序。元素不可重复但分数可重复。成员在集合中的位置是有序的。
  • 使用场景:游戏排名、微博热点话题、构建索引数据等等
zadd zset 1 one
zadd zset 2 two
zadd zset 3 three
zincrby zset 1 one              增长分数
zscore zset two                 获取分数
zrange zset 0 -1 withscores     范围值
zrangebyscore zset 10 25 withscores 指定范围的值
zrangebyscore zset 10 25 withscores limit 1 2 分页
Zrevrangebyscore zset 10 25 withscores  指定范围的值
zcard zset  元素数量
Zcount zset 获得指定分数范围内的元素个数
Zrem zset one two        删除一个或多个元素
Zremrangebyrank zset 0 1  按照排名范围删除元素
Zremrangebyscore zset 0 1 按照分数范围删除元素
Zrank zset 0 -1    分数最小的元素排名为0
Zrevrank zset 0 -1  分数最大的元素排名为0
Zinterstore
zunionstore rank:last_week 7 rank:20150323 rank:20150324 rank:20150325  weights 1 1 1 1 1 1 1

转载于:https://www.cnblogs.com/Smbands/p/11459722.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

collection集合 多少钱_Java集合框架大汇总,建议收藏

Java集合Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。Java集合中成员很丰富,常用的集合有ArrayList,HashMap,HashSet等。线程安全的有Vector,HashTable。线程不安全的…

项目管理思考——我适合做项目经理吗

一般来说项目经理这个职位是从事IT工作的诸位兄弟姐妹的奋斗目标。而IT行业的特点决定了外行很难领导内行,因此这个职位上的人员都是经历过一线开发的人员一步一个脚印升上去的,而很少有空降一个外行来担当的情况发生。 不同的公司职位设置不同&#xff…

[html] IE6文字溢出BUG(别名:多出来的猪、谍影重重)怎么解决呢?

[html] IE6文字溢出BUG(别名:多出来的猪、谍影重重)怎么解决呢? 删除注释或不设置浮动个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣…

vueinput里只能输入数字_大佬们,vue里面 限制input只能输入数字怎么做啊?

可以参考下面的,目前这个是限制,只能输入数字,小数点只保留2位,限制不能输入空格new Vue({el: "#app",data: {a: ""},methods: {change(val) {val val.replace(/(^\s*)|(\s*$)/g, "")if(!val) {th…

[html] 你知道著名的3像素Bug指的是什么吗?怎么解决呢?

[html] 你知道著名的3像素Bug指的是什么吗?怎么解决呢? img标签渲染之后下方会出现几个像素(我用谷歌测试是4px, 火狐3.5px)的空白; img是行内元素,默认display:inline; 它与文本的默认行为类似…

Redis的常用功能

排序: sort mylist 排序 sort mylist alpha desc limit 0 2 字母排序 sort list by it:* desc by命令 sort list by it:* desc get it:* get参数 sort list by it:* desc get it:* store sorc:result sort命令之store参数:表示把sort查询的…

python识别简单训练模型_使用已经得到的keras模型识别自己手写的数字方式

环境:Pythonkeras,后端为Tensorflow 训练集:MNIST 对于如何训练一个识别手写数字的神经网络,网上资源十分丰富,并且能达到相当高的精度。但是很少有人涉及到如何将图片输入到网络中并让已经训练好的模型惊醒识别&#…

hive 导出json格式 文件_hive存储json格式文件

hive从0.12版本以后就开始自身支持json文件的格式了1.文件格式下面是测试用的文件预览格式,我将其存储为jsonTest.json文件,放在了/root目录下{"_location":"(32.121, 45.262)","_ip":"2.12.1.211","_action":"click b…

HDU 4033 Regular Polygon(二分+高精度)

比赛时没做出来,最后10 钟时倒是想枚举每个角度,精度估计上可能会出问题; 后来听“理宝”说可以暴力枚举边的长度,精确到0.001,数据恰好10^7,T_T~~ vongang说可以用二分做,也就是官方解题报告的…

[html] html5点击返回键怎样不让它返回上一页?

[html] html5点击返回键怎样不让它返回上一页? $(function() {if (window.history && window.history.pushState) {$(window).on(popstate, function () {window.history.pushState(forward, null, #);window.history.forward(1);});}window.history.pushSt…

python怎么输出结果_Python中print()常用输出方法

print函数用法 1.输出字符串 print Hello World print "Hello World" print (Hello World) print ("Hello World") [注] 对于Python 3.0及以上版本,print是函数,因此需要编写print ()而不是print。 输出结果: Hello Worl…

Redis的备份与恢复

备份 dump.rdb:RDB方式的备份文件 appendonly.aof:AOF方式的备份文件rdb 备份处理 # 编辑redis.conf文件,找到如下参数,默认开启。 save 900 1 save 300 10 save 60 10000aop备份处理 # 编辑redis.conf文件,找到如下参…

javascript网页自动填表_JavaScript脚本实现网页批量自动勾选及内容填写

我们知道,大部分学校每个学期都有教学评估。对于我这种习惯性好评,老师又真心不错的人,十多个老师的评价都是good,这是赤裸裸的重复劳动啊。于是我动了歪念头...嘿嘿嘿1.登录教学评估的网页,选择一位老师:如…

java 修改 jar 包文件内容的一个实例

开发这个小工具的初衷是为了修改工具 jar 包中的配置文件 本来打算将这个功能集成到 工具 jar 包自身 但是这里貌似有点儿问题,因为该 jar 包文件当前正在被 java 虚拟机使用,所以无法对其进行修改操作~ 这里我有点儿疑惑,难道不是将 jar 包整…

python画图灰白_python 站点资料插值画图及白化

import cmaps import maskout import pandas as pd import numpy as np import matplotlib.pyplot as plt from scipy.interpolate import Rbf from mpl_toolkits.basemap import Basemap plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文 plt.rcParams[axes.unicode_…

[html] 在普通网页中如何调用html5+的plus对象?

[html] 在普通网页中如何调用html5的plus对象? document.addEventListener( "plusready", onPlusReady, false ); onPlusReady 函数中就可以引用plus对象个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定…

算法之归并排序

package com.ebiz.sort;import java.util.Arrays;/*** author YHj* create 2019-09-03 22:21* /*** 归并排序(递归)** ①. 将序列每相邻两个数字进行归并操作,形成 floor(n/2)个序列* ②. 执行①直到每组有一个元素 * ③. 各组之间进行比较*…

eureka需要替换吗_nacos无缝替换eureka

首先安装好nacos之后直接引入客户端依赖和配置文件,同时把eureka的内容去掉从nacos官网 https://nacos.io/zh-cn/index.html 下载安装包下载好之后解压,打开配置文件 conf/application.properties 配置一下mysql和地址,其他的的按需配置serve…

程旭元系统漫画第三期:加班 !

对于苦逼的程旭元来说 加班已经变成了生活中不可缺少的部分 他的原则是不能像胖子那样贪吃 不能像销售员那样狡诈 一定要尽忠职守 精忠报国 !老板说什么他就做什么! 对于一个从来只说加班不加工资的boss来说 唯命是从就是存活在公司的最好方式~ 但是有…

python 的库如何开发_一篇文章入门Python生态系统

译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员来说,本文对Python的生态系统还是做了较为全面的介绍。文中提到了一些第三方库,但是Pyth…