首页 > 其他 > 详细

redis 操作数据

时间:2018-10-17 21:51:40      阅读:218      评论:0      收藏:0      [点我收藏+]

# 原创,转载请留言联系

先放一波 Redis命令文档:http://doc.redisfans.com/

redis 可以存储5中数据结构:

字符串string

哈希hash

列表list

集合set

有序集合zset

下面列出一点常用操作!

  • 字符串String

字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

1.设置单个键值

set key value

例如:set name chichung

2.设置多个键值

mset key1 value1 key2 value2...

例如:mset name chichung gender man

# 注:m就是muti,多个

3.追加字符

比如你想插入name:chichung,不小心打漏了个g,怎么操作呢?

set name chichun

append name g

4.查看单个值

get key

例如:get name

5.查看多个值

mget key1 key2 key3...

例如:mget name gender

6.修改一个键的值

重新设置一个同名的键就行了。

set name zhicong

7.设置一个键值对,并让它过了某段时间自动删除

setex key seconds value

例如:setex name 10 chichung

表示过了10秒后删除 name:chichung

 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 哈希hash

hash?于存储对象,对象的结构为属性         # 就是python中字典的结构

的类型为string        # 由于值的类型是string,所以不能储存字典的嵌套

1.添加单个属性

hset key field value

例如:设置 info 的属性 name 为 chichung

hset info name chichung

2.添加多个属性

hmset key field1 value1 field2 value2...

例如:hmset info name chichung gender man

3.查看所有某个键的的属性

hkeys key

例如:keys info

会返回属性名,name,gender

4.查看一个属性的值

hget key field

例如:hget info name

5.查看多个属性的值

hmget key1 key2...

例如:hmget info name gender

6.查看所有属性的值

hvals key

例如:hvals info

7.删除属性和值

hdel key field1 field2...

例如:hdel info gender

删除 info 键的属性 gender 和 gender 属性的值 man

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 列表list

列表的元素类型为string

按照插?顺序排序

1.在左侧插入数据

lpush key value1 value2 ...

例如:lpush ele a b c

那么他在 redis 数据库的排序是 c b a

2.在右侧插入数据

rpush key value1 value2...

3.从指定元素的前后插入数据

linsert key before 现有元素 新元素

rinsert key after 现有元素 新元素

例如:linsert ele before a 0

在 a 元素的前面插入 0

4.查看列表的元素

lrange key start_index end_index

例如:查看列表的全部元素

lrange ele 0 -1

5.修改指定元素的值

lset key index value

例如,把下标是3的元素修改为 apple

lset ele 3 apple

6.从左边开始,删除 n 个相同的元素

lrem key n value

例如,从左边开始,删除两个 a

lrem ele 2 a

7.从右边开始,删除 n 个相同的元素

lrem key -n value

例如,从右边开始,删除两个 b

lrem ele -2 b

8.删除列表中全部的某个元素

lrem key 0 value

例如,删除列表中全部的 c

lrem ele 0 c

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 无序集合set

元素为string类型

元素具有唯?性,不重复

说明:对于集合没有修改操作

1.添加元素

sadd key member1 member2...

例如:sadd ele a b c d e f g

2.获取所有元素

smembers key

例如:smembers ele

3.删除指定元素

srem key value

例如:srem ele g

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

  • 有序集合zset

元素为string类型

元素具有唯?性,不重复

每个元素都会关联?个double类型的score,表示权重,通过权重将元素从?到?排序

说明:没有修改操作

1.添加元素

zadd key score1 member1 score2 member2 ...

例如:zadd ele 1 a 2 b 4 d 3 c

那么他的顺序是a b c d

2.获取指定范围内的元素

1.根据下标

zrange key start_index end_index

例如:获取有序集合的全部元素

zrange ele 0 -1

 

2.根据权重

zrangebrscore key min max

例如,获取权重是2-3之间的全部元素

zrangebyscore ele 2 3

 3.返回某个元素的权重

zscore key member

例如,获取 c 的权重值

zscore ele c

4.删除有序集合的指定元素

zrem key member1 member2...

例如,删除有序集合的 c d

zrem ele c d

5.删除权重值之间的元素

zremrangebyscore key min max

例如,删除有序集合中权重为2-3的元素

zremrangebyscore ele 2 3

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

  • 键命令

1.判断键是否存在

 exists key

2.查看键对应的值的类型

type key

3.删除键值

del key1 key2...(写一个键就是删除一个)

例如:del name gender

4.让已经存在的一个键对,过了某段时间自动删除

expire key seconds

例如:expire name 10

表示10秒后删除 name 键

5.查看键对还有几秒删除

ttl key

例如:ttl name

注意:如果 key 是设置了倒计时删除的,ttl 命令可以看到它的剩余时间,结束后输出内容为-2!

如果 key 本来就没有设置倒计时删除的,ttl key 永远都是-1。

redis 操作数据

原文:https://www.cnblogs.com/chichung/p/9800810.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!