redis基础

redis keys 命令 (不区分大小写)

redis默认有16个集合 ,db=0~15

select db(0-15) : 选择数据库

flushdb : 清空当前数据库 (删除当前数据库中所有键)

flushall : 清空所有数据库 (删除所有数据库中的键)

keys * : 查看所有键 keys a* 查找以a开头的键 (匹配)

del key : 删除键

expire key seconds : 给指定的key添加过期时间,单位S

ttl key : 以秒为单位,返回该键剩余时间

exists key : 判断一个键是否存在

 

数据类型

redis 五种数据类型:字符串(string)、哈希(字典)、列表(list)、集合(set)、有序集合(zset)

字符串string

set key value : 设置key-value

setnx key value : 设置键的值,仅当键不存在时

mset key1 value key2 value : 同时设置多个键的值

msetnx key1 value key2 value : 同时设置多个键的值,仅当键不存在时

setex key seconds value : 使用键和到期时间来设置值(秒为单位)

psetex key milliseconds : 使用键和到期时间来设置值 (毫秒为单位)

setrange key offset value : 将该key对应的值从offset处开始替换为value

get key : 获取指定键的值

mget key1 key2...  : 获取所有指定key的值

getset key value : 返回key旧值,设置新值

getrange key start end : 字符串提取, 字符串下标从0开始

incr key : 将键的整数值增加1

incrby key increment(增量) : 按给定数值增加键的整数值

incrbyfloat key increment : 按给定数值增加键的浮点数值

decr key : 将键的整数值减1

decrby key decrement :  按给定数值减少键的整数值

decrbyfloat key decrement : 按给定数值减少键的浮点数值

strlen key : 获取存储在键中的值的长度

append key value : 将指定值追加到键上的字符串 ,键不存在则创建再追加

 

哈希hash --字典{}

hset key field value : 给key设置字段和值

hsetnx key field value value : 给key设置字段和值,仅当key中不存在field时

hget key field : 获取key中指定字段对应值

hmget key field1 field2 ... : 同时获取key中多个字段的值

hgetall key : 获取该key中所有字段和对应值

hkeys key : 获取key中所有字段

hvals key : 获取key中所有的值

hdel key field1 field2 : 删除key中指定字段

hexists key field : 该key中是否存在这个字段,存在返回1,不存在返回0

hincrby key field number : 给该key中指定字段对应值加减number

hincrbyfloat key field number :  给该key中指定字段对应值加减number,number可以为float值

hlen key : 求key的长度, 获取key中字段的个数

 

列表list

lpush key value1 value2 : 依次将value1 和 value2 从左边插入队列key中

lpushx key value : 仅当队列key存在时,往头部插入元素,不存在则插入失败.

rpush key value1 value2 : 将value从右边插入到队列key中

rpushx key value : 仅当队列key存在时,往右边插入元素,不存在则插入失败.

linsert key before|after value newvalue : 在队列key中value的前面或后面插入新的newvalue

lrange key start stop : 依次显示队列key中start 到 stop 的所有元素,0代表第一个, -1代表最后一个

lrange key 0 -1 : 显示key中全部元素

lpop key : 弹出队列key中最左边的元素

rpop key :  弹出队列key中最右边的元素

rpoplpush src dst : 弹出队列src中最右边的元素,插入到队列dst的最左边

lset key index value : 将队列key中下标为index的元素设置为value,下标从0开始

lindex key index : 获取队列key中下标为index的元素

llen key : 求队列key的长度, 获取key中元素个数

ltrim key start stop : 去掉队列start - stop区间之外的所有元素,闭区间

lrem key n value : 去掉队列key中和value相等的元素

n为正数时,从最左边开始去掉n个和value相等的元素

n为负数时,从最右边开始去掉n个和value相等的元素

n=0时,去掉队列中所有和value相等的元素

 

集合 set

无序性,唯一性

sadd key value1 value2 value3 : 往集合中插入多个值

scard key : 求集合长度, 获取集合中元素的个数

smembers key : 查看集合中所有元素

sdiff key1 key2 key3 : 获取差集, 保留key1中key2和key3没有的元素

sdiffstore dst key1 key2 key3  : 将这个(sdiff key1 key2 key3)的结果保留到集合dst中

sinter key1 key2 : 获取key1和 key2的交集

sinterstore dst key1 key2 : 将(sinter key1 key2)的结果保存到集合dst中

sunion key1 key2 : 得到集合key1和集合key2的并集

sunionstore dst key1 key2 : 将集合key1和集合key2的并集保存到dst中

sismember key value : 判断value在不在集合key中,在的话返回1,不在的话返回0

smove key1 key2 value : 将集合key1中的元素value移到key2中

spop key : 从集合中随机弹出一个元素

srandmember key count count > 0 且 count < 集合元素个数: 返回你一个数组,而且数组元素唯一 count > 集合元素个数:返回你该集合中所有的元素 count < 0:返回给你-count个元素,但是不保证唯一

srem key value1 value2 : 移除集合中value1和value2元素

 

有序集合 zset

zadd key score member : 将分值为score的成员member加入到有序集合key中

zcard key : 获取key长度

zcount key start stop : 获取集合中分值在start-stop之间的元素个数

zincrby key number member : 给集合key中指定的member元素的分值加上number

zrange key start stop [withscores] : 显示集合中的元素

zrangebyscore key min max : 按区间查找对应元素,min 和 max

【注】前面的只能写数字,肯定是大于等于,后面的可以写开区间,不写默认就是闭区间

0 (100   --     0<= n <100

0 100 -- 0<= n <=100

  默认升序排列好

zrank key value : 将key升序排列,下标从0开始, 查找value在有序集合中的排名,返回的是下标

zrevrank key value : 降序排列

zrem key member1 member2: 移除有序集合中指定元素

zrevrangebyscore key max min

ZREVRANGEBYSCORE salary 100 30   # 逆序排列所有成员

zscore key member : 返回指定成员的分数.

python操作redis

StrictRedis对象方法:

通过init创建对象,指定参数host、port与指定的服务器和端口连接,host默认为localhost,port默认为6379,db默认为0, 密码(设置了就加上)

from redis import StrictRedis

#创建一个Strictredis对象,连接redis服务器

sr = StrictRedis(host='localhost',port=6379,db=0)

#1.增
try:
   result = sr.set('py1', 'gj')
   # result如果为true,则表示添加成功
   print(result)
except Exception as e:
   print(e)
   
#2.删
#result = sr.delete('py1')
#print(result)

#3.改
result = sr.set('py1','he')

#4.查
#如果建不存在,则返回None
result = sr.get('py1')

#5.获取建
result = sr.keys()

 

posted @ 2019-05-13 23:51  Deaseyy  阅读(178)  评论(0编辑  收藏  举报