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
**/