redis学习记录

1、启动redis:./redis-server ../redis.conf

关闭redis:./redis-cli -a linn

shutdown

2、随机启动:vi /etc/rc.local,在其中加入下面一行代码

/opt/redis-3.2.8/src/redis-server

3、Redis 常用命令

1)、keys *  返回满足给定pattern 的所有key

2)、exists age  确认一个key 是否存在

3)、del age  删除一个key

4)、expire addr 10  设置一个key 的过期时间(单位:秒)

5)、ttl addr  获取这个key 的有效时长,直至为-2 说明此值已过期,-1表示永不过期

6)、move age 1 将当前数据库中的key 转移到其它数据库中

7)、persist age 移除给定key 的过期时间

8)、randomkey 随机返回key 空间的一个key

9)、rename age age_new

10)、type addr 返回值的类型

4、服务器命令:

1)、ping 测试连接是否存活

2)、echo 在命令行打印一些内容

3)、select 1

4)、quit 推出连接

5)、dbsize  返回当前数据库中key 的数目。

6)、info 获取服务器的信息和统计。

7)、monitor  实时转储收到的请求

8)、config get *  获取服务器配置信息。

9)、flushdb  删除当前选择数据库中的所有key

10)、flushall 删除所有数据库中的所有key。

5、string:

1)、set name HongWan

2)、setnx name HongWan_new 如果key 已经存在,返回0,本次的修改不生效

3)、setex haircolor 10 red 有效期是10 秒

4)、setrange name 8 gmail.com 设置指定key 的value 值的子字符串。

5)、mset key1 HongWan1 key2 HongWan2  一次设置多个key 的值

6)、msetnx

7)、get name

8)、getset name HongWan_new 设置key 的值,并返回key 的旧值

9)、getrange name 0 6 || getrange name -7 -1 获取指定key 的value 值的子字符串。

10)、mget key1 key2 key3 一次获取多个key 的值

11)、incr age    incr 一个不是int 的value 会返回错误,incr 一个不存在的key,则设置key 为1

12)、incrby age 5

13)、decr、decrby

14)、append name @126.com

15)、strlen name

6、hashes 类型:

1)、hset myhash field1 Hello  如果key 不存在,则先创建

2)、hsetnx myhash field "Hello"  如果key 不存在,则先创建。如果field 已经存在,返回0

3)、hmset myhash field1 Hello field2 World  同时设置hash 的多个field。

4)、hget myhash field1

5)、hmget myhash field1 field2 field3

6)、hincrby myhash field3 -8

7)、hexists myhash field1  测试指定field 是否存在

8)、hlen myhash  返回指定hash 的field 数量。

9)、hdel myhash field1

10)、hkeys myhash  返回hash 的所有field。

11)、hvals myhash 返回hash 的所有value。

12)、hgetall myhash  获取某个hash 中全部的filed 及value。

7、lists 类型

1)、lpush mylist "world"  头部添加字符串

2)、rpush mylist2 "hello"  尾部添加字符串

3)、linsert mylist3 before "world" "there"  在key 对应list 的特定位置之前或之后添加字符串元素

4)、lset mylist4 0 "four"  设置list 中指定下标的元素值

5)、lrem mylist5 2 "hello"  count>0 时,按从头到尾的顺序删除,count<0 时,按从尾到头的顺序删除,count=0 时,删除全部

6)、ltrim mylist8 1 -1  保留指定key 的值范围内的数据

7)、lpop mylist 从list 的头部删除元素,并返回删除元素

8)、rpop mylist2  从list 的尾部删除元素,并返回删除元素

9)、rpoplpush mylist5 mylist6  从第一个list 的尾部移除元素并添加到第二个list 的头部,最后返回被移除的元素值

10)、lrange mylist5 0 -1

11)、lindex mylist5 0  返回index 位置的元素

12)、llen mylist5

8、sets 类型

1)、sadd myset "hello"

2)、srem myset2 "one"

3)、smembers myset2 查看myset2 中的所有元素

4)、spop myset3 随机返回并删除myset3 中一个元素

5)、sdiff myset2 myset3  返回所有给定key 与第一个key 的差集

6)、sdiffstore myset4 myset2 myset3 返回所有给定key 与第一个key 的差集,并将结果存为另一个key

7)、sinter myset2 myset3  返回所有给定key 的交集

8)、sinterstore myset5 myset2 myset3  返回所有给定key 的交集,并将结果存为另一个key

9)、sunion myset2 myset3  返回所有给定key 的并集

10)、sunionstore myset6 myset2 myset3  返回所有给定key 的并集,并将结果存为另一个key

11)、smove myset2 myset7 three  从第一个key 对应的set 中移除member 并添加到第二个对应set 中

12)、scard myset2  返回名称为key 的set 的元素个数

13)、sismember myset2 two  测试member 是否是名称为key 的set 的元素

14)、srandmember myset3  随机返回名称为key 的set 的一个元素,但是不删除元素

9、sorted sets 类型

1)、zadd myzset 1 "one"  向名称为key 的zset 中添加元素member,score 用于排序

2)、zrange myzset 0 -1 withscores  返回名称为myzset 的zset(按score 从小到大排序)中的index 从start 到end 的所有元素

3)、zrevrange myzset 0 -1 withscores  返回名称为myzset 的zset(按score 从大到小排序)中的index 从start 到end 的所有元素

4)、zrem myzset two

5)、zincrby myzset2 2 "one" 如果已经存在,则该元素的score 增加increment;否则向集合中添加该元素,其score 的值为increment

6)、zrank myzset3 two 返回元素的排名(按score 从小到大排序)即下标

7)、zrevrank myzset3 two  返回元素的排名(按score 从大到小排序)即下标

8)、zrangebyscore myzset3 2 3 withscores  返回集合中score 在给定区间的元素

9)、zcount myzset3 2 3  返回集合中score 在给定区间的数量

10)、zcard myzset3  返回集合中元素个数

11)、zscore myzset3 two  返回给定元素对应的score

12)、zremrangebyrank myzset3 3 3  删除集合中排名在给定区间的元素

13)、zremrangebyscore myzset3 1 2  删除集合中score 在给定区间的元素

推荐阅读更多精彩内容