21.13/21.14/21.15 redis常用操作
21.16 redis操作键值
21.17 redis安全设置
21.13/21.14/21.15 redis常用操作
Redis常用操作 (string, list)
- set key1 aminglinux
- get key1
- set key1 aming//第二次赋值会覆盖
- setnx key2 aaa //返回1 如果key2不存在直接创建key
- setnx key2 bbb //返回0,如果key2存在,返回0
- setex key3 10 1 //给key3设置过期时间为10s,值为1,若key已经存在,会覆盖新的值
- mset k1 1 k2 a k3 c
- mget k1 k3 k2
- lpush lista a //从左侧加入一个元素
- lpush lista b
- lrange lista 0 -1
- lpop lista //从左侧取出第一个元素
- rpush lista 1 //从右侧加入一个元素
- rpop lista //从右侧取出第一个元素
string
#set,get用法
set key1 aminglinux
get key1
#set第二次被覆盖
set key1 aming//第二次赋值会覆盖
#setnx 检查key值是否存在,key存在,则不被覆盖,key不存在,直接创建key
127.0.0.1:6379> get key1
"10"
127.0.0.1:6379> get key10
(nil)
127.0.0.1:6379> SETNX key1 100
(integer) 0
127.0.0.1:6379> SETNX key10 100
(integer) 1
#设置过期时间,
格式:set `key` `value` ex `time`
127.0.0.1:6379> set key11 111 ex 10
OK
#setex用法,给key11设置过期时间为10s,值为1,若key已经存在,会覆盖新的值
格式: SETEX `key` `seconds` `value`
127.0.0.1:6379> SETEX key11 1000 11
OK
127.0.0.1:6379> get key11
"11"
list
127.0.0.1:6379> LPUSH list11 aaa
(integer) 1
127.0.0.1:6379> LPUSH list11 bbb
(integer) 2
127.0.0.1:6379> LPUSH list11 ccc
(integer) 3
127.0.0.1:6379> LRANGE list11 0 -1
1) "ccc"
2) "bbb"
3) "aaa"
#从左侧取出第一个元素 ,最上的一个元素
127.0.0.1:6379> LPOP list11
"ccc"
#从右侧取出第一个元素,最下的一个元素
127.0.0.1:6379> RPOP list11
"aaa"
#取出的value,不会再存在list里面
127.0.0.1:6379> LRANGE list11 0 -1
1) "bbb"
Redis常用操作(list, set)
- linsert lista before 2 3 //在2的前面插入一个元素为3
- lset lista 4 bbb //把第5个元素修改为bbb
- lindex lista 0 //查看第1个元素
- lindex lista 3 //查看第4个元素
- llen lista //查看链表中有几个元素
- sadd seta aaa //向集合seta中放入元素
- smembers seta //查看集合中的所有元素
- srem seta aaa //删除元素
- spop seta //随机取出一个元素,删除
- sdiff seta setb //求差集,以seta为标准
- sdiffstore setc seta setb //求差集并且存储,存储到了setc里
- sinter seta setb //求交集
- sinterstore setd seta setb //将交集存储setd
- sunion seta setb //求并集
- sunionstore sete seta setb //求并集并存储到sete
#在xxx的前面插入一个元素为xxx
127.0.0.1:6379> LRANGE list11 0 -1
1) "bbb"
127.0.0.1:6379> LINSERT list11 before bbb aaa
(integer) 2
127.0.0.1:6379> LRANGE list11 0 -1
1) "aaa"
2) "bbb"
#在xxx的后面插入一个元素为xxx
127.0.0.1:6379> LINSERT list11 after bbb ccc
(integer) 3
127.0.0.1:6379> LRANGE list11 0 -1
1) "aaa"
2) "bbb"
3) "ccc"
#把第1个元素修改为123 ,用下标表示,0=no.1,1=no.2,以此类推
格式 LET `key` `位置` `value`
127.0.0.1:6379> LSET list11 0 123
OK
127.0.0.1:6379> LRANGE list11 0 -1
1) "123"
2) "bbb"
3) "ccc"
#查看第一个元素
127.0.0.1:6379> LRANGE list11 0 -1
1) "123"
2) "bbb"
3) "ccc"
127.0.0.1:6379> LINDEX list11 0
"123"
#查看链表中有几个元素
LLEN list11
#随机取出一个元素,删除
127.0.0.1:6379> sadd seta aaa
(integer) 1
127.0.0.1:6379> sadd seta bbb
(integer) 1
127.0.0.1:6379> SPOP seta
"aaa"
127.0.0.1:6379> SMEMBERS seta
1) "bbb"
Redis常用操作(set, zset)
- sismember seta aaa //判断一个元素是否属于一个集合
- srandmember seta //随机取出一个元素,但不删除
- zadd zseta 11 123 //创建有序集合
- zrange zseta 0 -1 //显示所有元素,按顺序显示
- zrange zseta 0 -1 withscores //可以带上分值
- zrem zseta 222 //删除指定元素
- zrank zseta 222 //返回元素的索引值,索引值从0开始,按score正向排序
- zrevrank zseta 222 //同上,不同的是,按score反序排序
- zrevrange zseta 0 -1 反序显示所有元素,并带分值
- zcard zseta //返回集合中所有元素的个数
- zcount zseta 1 10 // 返回分值范围1-10的元素个数
- zrangebyscore zseta 1 10 // 返回分值范围1-10的元素
- zremrangebyrank zseta 0 2 //删除索引范围0-2的元素,按score正向排序
- zremrangebyscore zseta 1 10 //删除分值范围1-10的元素
#创建有序集合
127.0.0.1:6379> ZADD zseta 11 123
(integer) 1
127.0.0.1:6379> ZADD zseta 22 223
(integer) 1
127.0.0.1:6379> ZRANGE zseta 0 -1
1) "123"
2) "223"
#删除指定元素
127.0.0.1:6379> ZREM zseta 123
(integer) 1
127.0.0.1:6379> ZREM zseta 223
(integer) 1
#返回元素的索引值,索引值(integer后面的值)从0开始,按score正向排序,
127.0.0.1:6379> ZADD zseta 10 aaa
(integer) 1
127.0.0.1:6379> ZADD zseta 30 cccc
(integer) 1
127.0.0.1:6379> ZADD zseta 20 bbb
(integer) 1
127.0.0.1:6379> ZRANGE zseta 0 -1
1) "aaa"
2) "bbb"
3) "cccc"
127.0.0.1:6379> ZRANk zseta aaa
(integer) 0
127.0.0.1:6379> ZRANk zseta ccc
(nil)
127.0.0.1:6379> ZRANk zseta cccc
(integer) 2
#反序排序
127.0.0.1:6379> ZREVRANGE zseta 0 -1
1) "cccc"
2) "bbb"
3) "aaa"
Redis常用操作(hash)
- hset user1 name aming //建立hash
- hset user1 age 30
- hset user1 job it
- hgetall user1
- hmset user2 name aming age 30 job it //批量建立键值对
- hmget user2
- hmget user2 name age job
- hdel user2 job //删除指定filed
- hkeys user2 //打印所有的key
- hvals user2 //打印所有的values
- hlen user2 //查看hash有几个filed
21.16 redis操作键值
21.17 redis安全设置
转载于:https://blog.51cto.com/13578154/2140448