【redis】redis中的数据类型和常用命令

redis中的数据类型和常用命令

String

redis中String类型是最基本的类型,常用的基本命令为:

set/get <key> [value]值的设置查找

//key值的设置
set name jdd	   //返回结果为-----> OK
set age 0		  //返回结果为-----> OK
//key值的查找
get name     //返回结果为-----> "jdd"

keys * 查询所有的key值

//查询所有的key值
keys * 
/**
返回结果为:
1) "name"
2) "age"
**/

del <key> 删除key

//删除指定的key值
del age
/**
返回结果为:(integer) 1
**/

expire <key> <seconds> 设置key值的过期时间

//设置key值的过期时间 当前key值必须不存在 时间单位为秒
expire age 20
/**
返回结果为:(integer) 0
**/

ttl <key> 查看key的过期时间

//查看key的过期时间 时间单位秒
ttl age
/**
这个命令有多种返回结果:
		-1 表示永不过期
		-2 表示过期了
		其余的表示过期的时间
**/

flushdb 清除所有的key 简称: 删库跑路

//清除所有的key值
flushdb 
/**
多的不说 慎用
**/

List

Lpush/Rpush <key> <value> <value2>… 从左边/右边插入一个或者多个值

//插入多个值
lpush name 小猪佩奇 喜羊羊 熊大 乔治
/**
返回结果为:4
左插入和右插入是不一样的,左插入是从左边开始插入,也就是先插入进来的数据会排到最右边也就是最后面。
右插入同反.....
**/

lrange <key> <start> <stope> 按照下标索引获取元素

//按照下标获取索引元素
lrange name 0 -1
/**
下标是从0开始,如果下标写的是0 -1 那么表示获取所有的key
返回结果为:
   		乔治
   		熊大
   		喜羊羊
   		小猪佩奇

**/

lpop/rpop <key> 从左边或者右边获取值

//从左边或者右边取值
lpop name
/**
取出来的值会被删除
返回结果:乔治
**/

lindex <key> <index> 获取指定下标的key值

//获取指定下标的key值
lindex name 0
/**
返回结果为:熊大
**/

lset <key> <index> <value> 将列表key中下标为index的值替换为value

//替换
lset name 0 熊二
/**
返回结果:OK
**/

set

set类型是自动排重的,无序的

sadd <key> <value> <value2>… 给key里面添加值

//在key里面添加值
sadd name 熊大 喜羊羊 葫芦娃
/**
返回结果为:3
**/

smembers <key> 取出key里面的所有值

//取出key里面所有的值
smembers name
/**
返回结果为:
   		葫芦娃
   		熊大
   		喜羊羊
**/

sismember <key> <value> 判断集合中是否拥有该值

//判断集合中是否拥有该值
sismember name 熊大
/**
返回结果为:1  (0表示没有、1表示有该值)
**/

srem <key> <value> <value2>… 删除集合中的某个元素

//删除集合中的某个元素
scard name 熊大  
/**
返回结果:1
**/

spop <key> 随机吐出一个值

//随机吐出一个值
spop name 
/**
返回结果:葫芦娃 (随机的值)
**/

srandmember <key> <n> 从集合中随机取出n个值

//取出n个值
srandmember name 2
/**
返回结果(随机值):
		喜羊羊
		懒羊羊
**/

sinter/sunion/sd <key1> <key2> 返回两个集合的交集/并集/差集

不多解释

Hash

hash数据类型就和java中的map<String,map<String,Object>> 差不多

hset <key> <field> <value1> <field2> 给<key>集合中<field>属性赋值<value>

//给key集合中的field属性赋值
hset student name 喜羊羊 age 男 sex 10
/**
返回结果为:3
**/

hget <key1> <field> 从<key1>集合<field>取出value

//从集合中取出value
hget student age
/**
返回结果为:男
**/

hmset <key1> <field1> <value1> <field2>… 批量添加

//批量添加
hmset student heigth 120 weight 88kg
/**
返回结果为: OK
**/

hkeys/hvalus <key> 列出key下面的所有 field/value

//列出数据
hkeys student
/**
返回结果为:
			name
			age
			sex
			heigth
			weight
**/

Zset

zadd <key> <scores> <value1> <value2>… 将一个或多个member元素及其score值加入到key中

//存值
zadd top 600 java 500 c 500 python 100 php
/**
返回结果为:4
**/

zrange <key> <start> <stop> [withscores] 遍历,加withscores就把值也遍历

//显示值
zrange top 0 -1
/**
返回数据为(不加withscores):
			php
			c
			python
			java
----------------------
返回数据为(加withscores):
			php
			100
			c
			500
			python
			500
			java
			600
**/

zrangebyscore key <min> <max> [withscores] [limit offset count] 查询 在min和max之间的值(从小到大)

//排序
zrangebyscore top 100 500
/**
返回结果为:
		php
		c
		python
**/

zrevrangebyscore key max min [withscores] [limit offset count] 同上(从大到小,不多解释了)

zincrby key <score> <value> 为元素score加上增值

//增值
zincrby top 300 java
/**
返回结果为:900
**/

zrem key 删除指定的值

//删除值
zrem top php
/**
返回结果为:1
**/

zrank 返回该值在集合中的排名 从0开始

//排名
zrank top java
/**
返回结果:2
**/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值