redis基本操作命令

redis 数据不同类型操作命令

list 操作命令

添加操作:
lpush 向左添加数据   列子: lpush key 1  2  3     存: 3  2  1   后面添加的数据会在最左边    
rpush 向右添加数据   列子: lpush key 1  2  3     存: 1  2  3   后面添加的数据会在最右边	
获取操作:
lrange key start stop  列子: lrange key 0 -1   获取 某个key里面所有的值 (0 -1代表所有的值)

lindex key index(获取某个索引对应值) 

llen key(key里面值个数)
移除操作:
lpop key    移除左

rpop key    移除右

删除操作:

 "3" "11" "2" "1"   执行lrem key2 1 "11" 后 数据成为了 "3" "2" "1"

lrem key2 1 "11" 从左往右删除 1代表删除一个元素  这个元素是“11”  
 

在某个值前面加一个值或者后面加一个值
原数据: 1  2  3    linsert key2 before 2 11         在key2里面值为2的前面加上11  
改变后的数据: 1 11 2 3  


原数据: 1  2  3  linsert key1 after 2  5   在key2里面值为2的后面加上5  
改变后的数据: 1 2 5 3  

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

 原列表key2中的数据: 3  2  1    lset key2 0 9  执行此命令后的数据变为了 9  2  1  

set操作命令(不重复)

添加操作:
sadd  key  value  value...
获取操作:
smembers key    获取某个key里所有的值
判断集合中key是否包含该value值
sismember <key><value>判断集合<key>是否含有该<value>值,有返回1,没有返回0
获取key中元素的个数
scard <key>
删除key集合中某个元素
srem<key><value1><value2>...
随机从集合中吐出[count]个值(吐出来的值 该集合中就没有了)
spop <key>  spop key 2 随机从key中吐出两个值(key的名字取的就是key)   如果值取完了那么该key也就没了
随机从该集合中取出N个值,不会从集合中删除
srandmember <key><n>

将集合中的值移动到另一个集合中(移动的值在另一个集合中存在了则会覆盖 set是不重复的)

smove <key1><key2><value>  每次只能移动一个值!
返回两个集合的交集元素
sinter <key1><key2>   (两个集合中相同的元素)
返回两个集合的并集元素
sunion <key1><key2> (两个集合中所有的元素合在一起)
返回两个集合的差集元素
sdiff <key1><key2>  (key1中不包含key2中的 反之则亦然)

sorted_set基本操作命令

新的存储需求:根据排序有利于数据的有效显示,需要提供一种可以根据自身特征进行排序的方式
需要的存储结构:新的存储模型,可以保存可排序的数据
sorted_set类型:在set的存储结构基础上添加可排序字段
添加数据:
zadd key score1 member1 [score2 member2]  
示列: zadd k1 100 apple 30 huawei 60 xiaomi 
获取全部数据
zrange key start stop [WITHSCORES]   zrange k1 0 -1  分数值小的排前面

zrevrange key start stop [WITHSCORES]  分数值大的排前面 
删除数据:
zrem key member [member …]         zrem k1 apple  删除apple这个值
按条件获取数据
zrangebyscore key min max [WITHSCORES] [LIMIT]  zrangebyscore k1 70 100  withscores   
获取分数值在70~100之间的value 分数值小的排前面


zrevrangebyscore key max min [WITHSCORES]   zrevrangebyscore k1 100 70 withscores

获取分数值在100~70之间的value  分数值大的排前面
按条件删除数据:
zremrangebyrank key start stop   

zremrangebyscore key min max
获取集合数据总量 :
zcard key 

zcount key min max
集合交、并操作
zinterstore destination numkeys key [key …] 

zunionstore destination numkeys key [key …]

centos查看进程或者杀死进程

centos7查看进程&杀死进程

ps -ef|grep ****程序名
例如

ps -ef|grep redis
kill -9 进程ID

例如kill -9 2100

String操作命令

添加/修改数据:
set key value
获取数据 :
get key
删除数据:
del key
判定性添加数据 :
setnx key value   如果key 已经存在则添加失败,相当于就是添加的时候做了一个判断key是否存在
添加/修改多个数据 :
mset key1 value1 key2 value2 … 
获取多个数据 :
mget key1 key2 … 
获取数据字符个数(字符串长度):
strlen key
追加信息到原始信息后部(如果原始信息存在就追加,否则新建):
append key value 
String扩展操作命令
key中value增加:
incy key     原数据:1   使用后 数据为2   自增+1

incrby key increment  原数据:1  incrby k1 100  使用该命令后的数据为101  可以增加数值的值

incrbyfloat key increment 可以增加浮点数     demo: incrby k1 10.5
key中value减少:
decr key   demo:使用该命令后数值每次减一

decrby key increment     同增加一样的使用
设置数据具有指定的生命周期 :
setex key seconds(秒) value    key中添加一个数据可以存活多少秒  setex k1 10 2(k1中添加的数据2生命周期只有10秒,10秒过后就没有值了)


psetex key milliseconds(毫秒) value  和上面一样 只是单位是毫秒

hash基本操作命令(存储结构:一个存储空间保存多个键值对数据 )

添加/修改数据 :
hset key field value      hset user fs 100 bk 200 \
HSET key field value 将哈希表 key 中的字段 field 的值设为 value
获取数据 :
hget key field     获取单个key 对应的value  field是key 获取对应field对应的值

hgetall key    获取所有的key以及对应的value

删除数据:
hdel key field1 [field2]   原数据:"name" "1", "fs" "2" 

hdel user fs 使用该命令后的数据:"bk" "200"   user集合里面fs这个key没了

设置field的值,如果该field存在则不做任何操作:
hsetnx key field value    如果没有这个key则会创建这个key并添加值   已经存在一个key的话则不做任何操作
添加/修改多个数据 :
hmset key field1 value1 field2 value2 …
获取多个数据:
hmget key field1 field2 …
获取哈希表中字段的数量:
hlen key
获取哈希表中是否存在指定的字段
hexists key field 
hash扩展操作
获取哈希表中所有的字段名或字段值
hkeys key 

hvals key
设置指定字段的数值数据增加指定范围的值
hincrby key field increment 

hincrbyfloat key field increment
hash常用命令小结:
Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:

HSET key field value 将哈希表 key 中的字段 field 的值设为 value HGET key field 获取存储在哈希表中指定字段的值

HDEL key field 删除存储在哈希表中的指定字段

HKEYS key 获取哈希表中所有字段

HVALS key 获取哈希表中所有值

HGETALL key 获取在哈希表中指定 key 的所有字段和值

常用命令:

key的扩展操作:
keys parrten  
查询模式规则
*:匹配任意数量的任意符号 ? :配合一个任意符号 [] :匹配一个指定符号


keys * 查询所有    keys it*   查询所有以it开头 

keys *xml 查询所有以xml结尾      keys ??test 查询所有前面两个字符任意,后面以test结尾 

查询所有以 keys user:?   查询所有以user:开头,最后一个字符任意 keys u[st]er:1 

查询所有以u开头,以er:1结尾,中间包含一个字母,s或t
数据库指令
切换数据库
select index  
数据移动
move key db  

理解为剪切,如果对应db有相同key则失败
数据总量
dbsize

获取key 的个数
数据清除
flushdb flushall  

不要轻易使用!会让所有库中数据销毁

keys parrten




###### 查询模式规则 

```text
*:匹配任意数量的任意符号 ? :配合一个任意符号 [] :匹配一个指定符号


keys * 查询所有    keys it*   查询所有以it开头 

keys *xml 查询所有以xml结尾      keys ??test 查询所有前面两个字符任意,后面以test结尾 

查询所有以 keys user:?   查询所有以user:开头,最后一个字符任意 keys u[st]er:1 

查询所有以u开头,以er:1结尾,中间包含一个字母,s或t
数据库指令
切换数据库
select index  
数据移动
move key db  

理解为剪切,如果对应db有相同key则失败
数据总量
dbsize

获取key 的个数
数据清除
flushdb flushall  

不要轻易使用!会让所有库中数据销毁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值