redis简单操做

1、redis 基础操做

1.一、string 类型及操做

string 是最简单的类型,一个key对应一个value,string类型是二进制安全的。redis的string能够包含任何数据。mysql

一、set: 设置值
127.0.0.1:6379> set name haha
OK

二、setnx: 设置值,若是键已经存在则返回0,不然返回1
127.0.0.1:6379> setnx name haha
(integer) 0
127.0.0.1:6379> setnx info a
(integer) 1

三、get:获取键对应的值
127.0.0.1:6379> get name
"haha"

四、mset,mget:设置或者获取多个键值对
127.0.0.1:6379> MSET name haha age 18 sex nv
OK
127.0.0.1:6379> MGET name age sex
1) "haha"
2) "18"
3) "nv"

五、incrby:对 key 的值作加加(指定值)操做,并返回新的值
127.0.0.1:6379> INCRBY age 2
(integer) 22

六、incr:对 key 的值作加值,并返回新的值
127.0.0.1:6379> INCR age
(integer) 19

七、del:删除一个已建立的 key
127.0.0.1:6379> del name
(integer) 1
1.二、hash 类型及操做

Redis hash 是一个 string 类型的 field(字段)和 value 的映射表,hash 特别适合用于存储对象,相较于将对象的每一个字段存成单个 string 类型,将一个对象存储在 hash 类型中会占用更少的内存,而且能够更方便的存取整个对象。redis

一、hset:设置 hash field 为指定值,若是 key 不存在,则先建立。
127.0.0.1:6379> HSET dic name huahua
(integer) 1

二、hget、hmset、hmget,与上面的string相似    
127.0.0.1:6379> HMSET dic1 name ah age 18
OK

三、 hdel:删除制定表中的某一个键值对 
127.0.0.1:6379> HDEL dic1 name
(integer) 1

四、hgetall:列出表中的全部键值对
127.0.0.1:6379> HGETALL dic1
1) "age"
2) "18"
1.三、list 类型及操做

list 是一个链表结构,主要功能是 push、pop、获取一个范围内的全部值等等,操做中 key 理解为链表的名字。Redis 的 list 类型其实就是一个每一个子元素都是 string 类型的双向链表。咱们能够经过 push、pop 操做从链表的头部或尾部添加删除元素。sql

一、lpush:在 key 对应 list 从左添加字符串元素
127.0.0.1:6379> LPUSH name haha ee nnn
(integer) 3

二、lrange:在 key 对应 list 从左遍历字符串元素,需指定起始和结束索引
127.0.0.1:6379> LRANGE name 0 -1
1) "nnn"
2) "ee"
3) "haha"

三、lpop:在 key 对应 list 从左删除一个元素
127.0.0.1:6379> LPOP name
"nnn"

四、rpop,rpush 相似,不过是从list右边插入与删除
1.四、Set 类型及操做

set 是集合,他是 string 类型的无序集合。Set 是经过 hash table 实现的,对集 、交集、差集。经过这些操做,集合不容许有重复值。数据库

一、sadd:添加一个或多个元素到集合中
127.0.0.1:6379> sadd k1 1 2 3 4 5 
(integer) 5

二、smembers:获取集合里面全部的元素
127.0.0.1:6379> SMEMBERS k1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"

三、srem:从集合中删除指定的一个或多个元素
127.0.0.1:6379> SREM k1 2
(integer) 1

四、spop:随机从集合中删除一个元素,并返回 
127.0.0.1:6379> SPOP k1
"3"

五、sdiff:返回集合 1 与集合 2 的差集
127.0.0.1:6379> SDIFF k1 k2
1) "1"

六、sinter:得到两个集合的交集
127.0.0.1:6379> SINTER k1 k2
1) "4"
2) "5"

七、sinter:得到两个集合的交集 
127.0.0.1:6379> SUNION k1 k2
1) "1"
2) "3"
3) "4"
4) "5"
5) "6"
1.5 zset 类型及操做

zset 是 set 的一个升级版本,它在 set 的基础上增长了一个顺序属性,这一属性在添加修改元素的时候能够指定,每次指定后,zset 会自动从新按新的值调整顺序。能够理解为有两列的 mysql 表,一列存的 value,一列存的顺序。操做中 key 理解为 zset 的名字.安全

一、zadd:向一个指定的有序集合中添加元素,每个元素会对应的有一个分数。你能够指定多个分数/成员组合。若是一个指定的成员已经在对应的有序集合中了,那么其分数就会被更新成最新的,而且该成员会从新调整到正确的位置,以确保集合有序。分数的值必须是一个表示数字的字符串。
127.0.0.1:6379> ZADD  xx  1 zs 2 ls
(integer) 2

二、zrange:返回有序集合中,指定区间内的成员。其中成员按照 score(分数)值从小到大排序。
127.0.0.1:6379> ZRANGE xx 0 -1
1) "zs"
2) "ls"

三、zrem: 删除有序集合内元素
127.0.0.1:6379> ZREM xx zs
(integer) 1

四、zcard:返回有序集合元素的个数
127.0.0.1:6379> ZCARD xx
(integer) 1

2、其余命令

一、keys:按照键名查找指定的键。支持通配符(* ?等)
127.0.0.1:6379> keys *
 1) "age"
 2) "dics"
 3) "dic"
 4) "sex"
 5) "xx"
二、 exists:确认一个键是否存在(1 表示存在)
127.0.0.1:6379> EXISTS age
(integer) 1
三、 del:删除一个键(通用)
127.0.0.1:6379> del age
(integer) 1
四、expire:设置一个键(已存在)的过时时间,若是键已通过期,将会被自动删除
127.0.0.1:6379> EXPIRE age 20
(integer) 0
五、ttl:以秒为单位,返回指定键的剩余有效时间

当 key 不存在时,返回 -2
当 key 存在但没有设置剩余生存时间时,返回 -1
不然,以秒为单位,返回 key 的剩余生存时间。服务器

127.0.0.1:6379> TTL age
(integer) -2
127.0.0.1:6379> ttl k2
(integer) -1
六、select:选择一个数据库,默认链接的数据库是 0,能够支持共 16 个数据库。在配置文件中,经过 databases 16 关键字定义。
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> keys *
1) "k1"
七、move:将当前数据库的键移动到指定的数据库中
127.0.0.1:6379> MOVE k1 1
(integer) 1
八、type:返回键的类型
127.0.0.1:6379[1]> TYPE k1
set
九、dbsize:返回当前库中键的数量
127.0.0.1:6379> DBSIZE 
(integer) 10
十、save:保存全部的数据。不多在生产环境直接使用 SAVE 命令,由于它会阻塞全部的客户端的请求,可使用 BGSAVE 命令代替. 若是在 BGSAVE 命令的保存数据的子进程发生错误的时,用 SAVE 命令保存最新的数据是最后的手段。
十一、info:获取服务器的详细信息
十二、config get:获取 redis 服务器配置文件中的参数。支持通配符
127.0.0.1:6379> CONFIG GET *
#获取因此配置参数
127.0.0.1:6379> CONFIG GET port
1) "port"
2) "6379"
1三、flushdb:删除当前数据库中全部的数据
14.、flushall:删除全部数据库中的全部数据
相关文章
相关标签/搜索