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 “”
相关文章推荐
- 21.13-21.17 redis常用操作,数据类型,操作键值,安全设置
- Redis-list类型常用操作命令
- 30个php操作redis常用方法代码例子
- StringRedisTemplate常用操作 / Redis中删除过期Key的三种策略
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis常用的命令(二)------key的基本操作
- php 操作 redis 常用方法代码例子
- Redis在windows下的常用dos操作命令----redis中的五种数据类型的操作
- Redis 之 (2) 常用操作、操作键值、安全设置
- Redis常用数据类型介绍、使用场景及其操作命令
- 30个php操作redis常用方法代码例子
- Redis常用数据类型介绍、使用场景及其操作命令
- redis常用操作总结
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis学习笔记(十三)--Redis常用操作指令(四)
- redis常用操作命令总结
- Redis(2.6版本以上) String 常用操作和方法详解
- Redis运维之常用命令操作
- 一些php操作redis常用方法代码