您的位置:首页 > 数据库 > Redis

21.13 redis常用操作

2017-10-13 00:00 155 查看

21.13 redis常用操作(string)

1、string

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

[root@Dasoncheng ~]# redis-cli
127.0.0.1:6379> get key1
"100"
127.0.0.1:6379> set key1 1001    ##第二次赋值同一可以,会覆盖
OK
127.0.0.1:6379> get key1
"1001"
127.0.0.1:6379> setnx key1 10001
##使用setnx会检测 是否存在同一key,存在则返回0(不做任何操作)  不存在则返回1 并创建该key
(integer) 0
127.0.0.1:6379> get key10
(nil)
127.0.0.1:6379> setnx key10 100
(integer) 1
127.0.0.1:6379> get key10
"100"
127.0.0.1:6379> set key11 aaa ex 10    ##创建并设定过期时间;
OK
127.0.0.1:6379> setex key11 100 bbb    ##setex创建并设定过期时间,若key存在 则覆盖
OK
127.0.0.1:6379> get key11
"bbb"

2、list

lpush lista a //从左侧加入一个元素
lpush lista b
lrange lista 0 -1
lpop lista //从左侧取出第一个元素
rpush lista 1 //从右侧加入一个元素
rpop lista //从右侧取出第一个元素
linsert  lista  before  2 3  //在2的前面插入一个元素为3
lset lista 4 bbb  //把第5个元素修改为bbb
lindex lista 0  //查看第1个元素
lindex lista 3  //查看第4个元素
llen lista  //查看链表中有几个元素

127.0.0.1:6379> lpush lista 111
(integer) 1
127.0.0.1:6379> lpush lista 222
(integer) 2
127.0.0.1:6379> lrange lista 0 -1
1) "222"
2) "111"
127.0.0.1:6379> lpop lista    ##向左删除一个元素
"222"
127.0.0.1:6379> lrange lista 0 -1
1) "111"
127.0.0.1:6379> lpush lista 333
(integer) 2
127.0.0.1:6379> lpush lista 444
(integer) 3
127.0.0.1:6379> lrange lista 0 -1
1) "444"
2) "333"
3) "111"
127.0.0.1:6379> rpop lista    ##向右删除一个元素
"111"
rpush lista 1 //从右侧加入一个元素
127.0.0.1:6379> linsert lista after 333 aaa    ##在333之前 添加一个元素aaa
(integer) 3
127.0.0.1:6379> lrange lista 0 -1
1) "444"
2) "333"
3) "aaa"
127.0.0.1:6379> lset lista 2 bbb    ##将第三个元素aaa 修改为bbb
OK
127.0.0.1:6379> lrange lista 0 -1
1) "444"
2) "333"
3) "bbb"
127.0.0.1:6379> lindex lista 0    ##查看第一个元素
"444"
127.0.0.1:6379> lindex lista 2
"bbb"
127.0.0.1:6379> llen lista    ##显示所有元素数量;
(integer) 3

3、set

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
sismember seta aaa  //判断一个元素是否属于一个集合
srandmember  seta  //随机取出一个元素,但不删除

127.0.0.1:6379> sadd seta aaa
(integer) 1
127.0.0.1:6379> sadd seta bbb ccc ddd
(integer) 3
127.0.0.1:6379> smembers seta    ##查看集合里面的所有元素;
1) "ddd"
2) "aaa"
3) "ccc"
4) "bbb"
127.0.0.1:6379> srem seta aaa  ##删除元素aaa
(integer) 1
127.0.0.1:6379> smembers seta
1) "ddd"
2) "ccc"
3) "bbb"
127.0.0.1:6379> spop seta  ##随机取出一个元素并删除;接数字 代表取出n个
"ddd"
127.0.0.1:6379> sadd seta aaa
(integer) 1
127.0.0.1:6379> sadd setb bbb ccc ddd
(integer) 3
127.0.0.1:6379> smembers seta
1) "aaa"
2) "ccc"
3) "bbb"
127.0.0.1:6379> smembers setb
1) "ddd"
2) "ccc"
3) "bbb"
127.0.0.1:6379> sdiff seta setb  ##以setb为参考对象,求seta的差集;
1) "aaa"
127.0.0.1:6379> sdiffstore setc seta setb  ##将seta的差集 保存到集合setc;
(integer) 1
127.0.0.1:6379> smembers setc
1) "aaa"
127.0.0.1:6379> sinter seta setb  ##求seta的交集;
1) "ccc"
2) "bbb"
127.0.0.1:6379> sinterstore setd seta setb
(integer) 2
127.0.0.1:6379> sunion seta setb  ##求并集;
1) "bbb"
2) "ccc"
3) "ddd"
4) "aaa"
127.0.0.1:6379> sunionstore sete seta setb
(integer) 4
127.0.0.1:6379> sismember seta 1  ##判断1 是否属于seta集合;否则反馈0
(integer) 0
127.0.0.1:6379> sismember seta aaa  ##判断aaa 是否属于seta集合;是则反馈1
(integer) 1
127.0.0.1:6379> srandmember seta   ##随机取出一个元素,并不删除;
"ccc"
127.0.0.1:6379> srandmember seta 3  ##随机取出3个元素,不删除
1) "aaa"
2) "bbb"
3) "ccc"

4、zset

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的元素

5、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操作键值

keys *    //取出所有key
keys my* //模糊匹配
exists name  //有name键 返回1 ,否则返回0;
del  key1 // 删除一个key    //成功返回1 ,否则返回0;
EXPIRE key1 100  //设置key1 100s后过期
ttl key // 查看键 还有多长时间过期,单位是s,当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,返回 key 的剩余生存时间。
select  0  //代表选择当前数据库,默认进入0 数据库
move age 1  // 把age 移动到1 数据库
persist key1   //取消key1的过期时间
randomkey //随机返回一个key
rename oldname newname //重命名key
type key1 //返回键的类型

21.17 redis安全设置

设置监听ip
bind 127.0.0.1  2.2.2.2//可以是多个ip,用空格分隔
设置监听端口
port 16000
设置密码
requirepass aming>com
redis-cli  -a 'aming>com'
将config命令改名
rename-command CONFIG aming
禁掉config命令
rename-command CONFIG “”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: