ردیس db/redis
کارخواه Redis: کلید و مقدار، هش، لیست، مجموعه و انتشار.
واردسازی دیتابیس.ردیس
ردیس یک پایگاه دادهی درون حافظه برای کش، نشست، شمارنده و صف است. این بسته از کتابخانهی hiredis استفاده میکند که باید روی سیستم نصب باشد؛ نمونهها برای همین فقط بررسی میشوند. برای دستوری که روال جداگانه ندارد دستور را با نام دستور و آرگومانها صدا بزنید.
گونهها
کلاینت Client
ساختار کلاینت| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | اشارهگر کتابخانه. |
واردسازی دیتابیس.ردیس
روال ریشه:
ک := ردیس.اتصال("127.0.0.1"، ۶۳۷۹)
اگر وارونه ردیس.معتبر(ک):
سرچاپ ردیس.خطا(ک)
برگشت
پایان
_ := ردیس.احراز هویت(ک، "s3cret")
_ := ردیس.انتخاب پایگاه داده(ک، ۱)
سرچاپ ردیس.پینگ(ک)
_ := ردیس.تنظیم(ک، "greeting"، "سلام")
_ := ردیس.تنظیم با انقضا(ک، "session:42"، "token"، ۳۶۰۰)
سرچاپ ردیس.دریافت(ک، "greeting")، ردیس.وجود دارد(ک، "greeting")، ردیس.زمان باقیمانده(ک، "session:42")
سرچاپ ردیس.افزایش(ک، "visits")، ردیس.افزایش با مقدار(ک، "visits"، ۱۰)، ردیس.کاهش(ک، "visits")
سرچاپ ردیس.پیوست(ک، "greeting"، "!")، ردیس.طول رشته(ک، "greeting")، ردیس.نوع(ک، "greeting")
_ := ردیس.انقضا(ک، "greeting"، ۶۰)
سرچاپ ردیس.کلیدها(ک، "session:*").طول()
_ := ردیس.حذف(ک، "greeting")
_ := ردیس.تنظیم فیلد هش(ک، "user:1"، "name"، "مریم")
_ := ردیس.تنظیم فیلد هش(ک، "user:1"، "city"، "تهران")
سرچاپ ردیس.دریافت فیلد هش(ک، "user:1"، "name")، ردیس.فیلد هش وجود دارد(ک، "user:1"، "age")، ردیس.تعداد فیلدهای هش(ک، "user:1")
همه := ردیس.دریافت همه هش(ک، "user:1")
سرچاپ همه.اندازه()
_ := ردیس.حذف فیلد هش(ک، "user:1"، "city")
_ := ردیس.افزودن به انتهای لیست(ک، "jobs"، "a")
_ := ردیس.افزودن به ابتدای لیست(ک، "jobs"، "b")
سرچاپ ردیس.طول لیست(ک، "jobs")، ردیس.بازه لیست(ک، "jobs"، ۰، -۱).طول()
سرچاپ ردیس.برداشتن از ابتدای لیست(ک، "jobs")، ردیس.برداشتن از انتهای لیست(ک، "jobs")
_ := ردیس.افزودن به مجموعه(ک، "tags"، "go")
_ := ردیس.افزودن به مجموعه(ک، "tags"، "salam")
سرچاپ ردیس.عضو مجموعه است(ک، "tags"، "salam")، ردیس.اندازه مجموعه(ک، "tags")، ردیس.اعضای مجموعه(ک، "tags").طول()
_ := ردیس.حذف از مجموعه(ک، "tags"، "go")
سرچاپ ردیس.انتشار(ک، "news"، "خبر تازه")
ناپایا آرگ := وکتور {} برگردان وکتور<رشته>
آرگ.افزودن("GET")
آرگ.افزودن("visits")
پ := ردیس.دستور(ک، آرگ)
اگر ردیس.پاسخ معتبر(پ) و وارونه ردیس.پاسخ خطا است(پ) و وارونه ردیس.پاسخ خالی است(پ):
سرچاپ ردیس.نوع پاسخ(پ) == ردیس.پاسخ_رشته، ردیس.پاسخ رشته(پ)
پایان
ردیس.آزادسازی پاسخ(پ)
ناپایا آرگ۲ := وکتور {} برگردان وکتور<رشته>
آرگ۲.افزودن("LRANGE")
آرگ۲.افزودن("jobs")
آرگ۲.افزودن("0")
آرگ۲.افزودن("-1")
پ۲ := ردیس.دستور(ک، آرگ۲)
اگر ردیس.نوع پاسخ(پ۲) == ردیس.پاسخ_آرایه:
تکرار ردیس.طول آرایه پاسخ(پ۲) در ش:
سرچاپ ردیس.پاسخ رشته(ردیس.عنصر آرایه پاسخ(پ۲، ش))
پایان
پایان
سرچاپ ردیس.پاسخ صحیح(پ۲)، ردیس.پاسخ_صحیح، ردیس.پاسخ_خالی، ردیس.پاسخ_وضعیت، ردیس.پاسخ_خطا، ردیس.پاسخ_اعشار
ردیس.آزادسازی پاسخ(پ۲)
_ := ردیس.پاکسازی پایگاه داده(ک)
ردیس.بستن(ک)
پایانپاسخ Reply
ساختار پاسخ| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | اشارهگر پاسخ. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پایاها و متغیرها
پاسخ_رشته REPLY_STRING
پایا پاسخ_رشته: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ_آرایه REPLY_ARRAY
پایا پاسخ_آرایه: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ_صحیح REPLY_INTEGER
پایا پاسخ_صحیح: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ_خالی REPLY_NIL
پایا پاسخ_خالی: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ_وضعیت REPLY_STATUS
پایا پاسخ_وضعیت: صحیح۳۲ = 5OK.نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ_خطا REPLY_ERROR
پایا پاسخ_خطا: صحیح۳۲ = 6نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ_اعشار REPLY_DOUBLE
پایا پاسخ_اعشار: صحیح۳۲ = 7نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
روالها
اتصال Connect
روال اتصال(host: رشته، port: صحیح): کلاینتنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
معتبر Ok
روال معتبر(c: کلاینت): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
خطا Error
روال خطا(c: کلاینت): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
بستن Close
روال بستن(c: کلاینت)نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پینگ Ping
روال پینگ(c: کلاینت): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
انتخاب پایگاه داده Select
روال انتخاب پایگاه داده(c: کلاینت، index: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
احراز هویت Auth
روال احراز هویت(c: کلاینت، password: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاکسازی پایگاه داده FlushDB
روال پاکسازی پایگاه داده(c: کلاینت): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
تنظیم Set
روال تنظیم(c: کلاینت، key: رشته، val: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
تنظیم با انقضا SetEx
روال تنظیم با انقضا(c: کلاینت، key: رشته، val: رشته، seconds: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
دریافت Get
روال دریافت(c: کلاینت، key: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
وجود دارد Exists
روال وجود دارد(c: کلاینت، key: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
حذف Del
روال حذف(c: کلاینت، key: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
انقضا Expire
روال انقضا(c: کلاینت، key: رشته، seconds: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
زمان باقیمانده TTL
روال زمان باقیمانده(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
افزایش Incr
روال افزایش(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
افزایش با مقدار IncrBy
روال افزایش با مقدار(c: کلاینت، key: رشته، delta: صحیح۶۴): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
کاهش Decr
روال کاهش(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پیوست Append
روال پیوست(c: کلاینت، key: رشته، val: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
طول رشته StrLen
روال طول رشته(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
نوع Type
روال نوع(c: کلاینت، key: رشته): رشتهstring یا hash.نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
کلیدها Keys
روال کلیدها(c: کلاینت، pattern: رشته): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
افزودن به ابتدای لیست LPush
روال افزودن به ابتدای لیست(c: کلاینت، key: رشته، val: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
افزودن به انتهای لیست RPush
روال افزودن به انتهای لیست(c: کلاینت، key: رشته، val: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
برداشتن از ابتدای لیست LPop
روال برداشتن از ابتدای لیست(c: کلاینت، key: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
برداشتن از انتهای لیست RPop
روال برداشتن از انتهای لیست(c: کلاینت، key: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
طول لیست LLen
روال طول لیست(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
بازه لیست LRange
روال بازه لیست(c: کلاینت، key: رشته، start: صحیح، stop: صحیح): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
افزودن به مجموعه SAdd
روال افزودن به مجموعه(c: کلاینت، key: رشته، member: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
حذف از مجموعه SRem
روال حذف از مجموعه(c: کلاینت، key: رشته، member: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
عضو مجموعه است SIsMember
روال عضو مجموعه است(c: کلاینت، key: رشته، member: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
اندازه مجموعه SCard
روال اندازه مجموعه(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
اعضای مجموعه SMembers
روال اعضای مجموعه(c: کلاینت، key: رشته): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
انتشار Publish
روال انتشار(c: کلاینت، channel: رشته، message: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
تنظیم فیلد هش HSet
روال تنظیم فیلد هش(c: کلاینت، key: رشته، field: رشته، val: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
دریافت فیلد هش HGet
روال دریافت فیلد هش(c: کلاینت، key: رشته، field: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
حذف فیلد هش HDel
روال حذف فیلد هش(c: کلاینت، key: رشته، field: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
فیلد هش وجود دارد HExists
روال فیلد هش وجود دارد(c: کلاینت، key: رشته، field: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
تعداد فیلدهای هش HLen
روال تعداد فیلدهای هش(c: کلاینت، key: رشته): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
دریافت همه هش HGetAll
روال دریافت همه هش(c: کلاینت، key: رشته): نگاشت<رشته، رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
دستور Command
روال دستور(c: کلاینت، args: وکتور<رشته>): پاسخآزادسازی پاسخ آزاد کنید.نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ معتبر ReplyOk
روال پاسخ معتبر(r: پاسخ): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
نوع پاسخ ReplyType
روال نوع پاسخ(r: پاسخ): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ خطا است ReplyIsError
روال پاسخ خطا است(r: پاسخ): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ خالی است ReplyIsNil
روال پاسخ خالی است(r: پاسخ): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ صحیح ReplyInt
روال پاسخ صحیح(r: پاسخ): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
پاسخ رشته ReplyStr
روال پاسخ رشته(r: پاسخ): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
طول آرایه پاسخ ReplyArrayLen
روال طول آرایه پاسخ(r: پاسخ): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
عنصر آرایه پاسخ ReplyArrayGet
روال عنصر آرایه پاسخ(r: پاسخ، i: صحیح): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam
آزادسازی پاسخ FreeReply
روال آزادسازی پاسخ(r: پاسخ)نمونهی این مورد همراه با موارد بالاتر آمده است: db-redis-Client.salam