0:35
hi this is your host Aban and welcome to
0:38
hi this is your host Aban and welcome to
0:39
hi this is your host Aban and welcome to my show Azure essential Series in today
0:42
my show Azure essential Series in today
0:42
my show Azure essential Series in today episode we will talk about Azure cache
0:44
episode we will talk about Azure cache
0:44
episode we will talk about Azure cache for radius and how to accelerate your
0:47
for radius and how to accelerate your
0:47
for radius and how to accelerate your net or apps uh Microsoft a your cache
0:51
net or apps uh Microsoft a your cache
0:51
net or apps uh Microsoft a your cache for radius is based on the popular op
0:53
for radius is based on the popular op
0:54
for radius is based on the popular op Source radius cache it gives users
0:56
Source radius cache it gives users
0:56
Source radius cache it gives users access to a secure dedicated radius cach
1:00
access to a secure dedicated radius cach
1:00
access to a secure dedicated radius cach instance managed by Microsoft users get
1:03
instance managed by Microsoft users get
1:03
instance managed by Microsoft users get the best of both wordss the rich radius
1:06
the best of both wordss the rich radius
1:06
the best of both wordss the rich radius features set and ecosystem and reliable
1:09
features set and ecosystem and reliable
1:09
features set and ecosystem and reliable hosting and monitoring from Microsoft as
1:12
hosting and monitoring from Microsoft as
1:12
hosting and monitoring from Microsoft as your cache for ads helps you application
1:15
your cache for ads helps you application
1:15
your cache for ads helps you application stay responsive even as a user load
1:18
stay responsive even as a user load
1:18
stay responsive even as a user load increases it does not so by leveraging
1:21
increases it does not so by leveraging
1:21
increases it does not so by leveraging the low latency High throughput
1:23
the low latency High throughput
1:23
the low latency High throughput capabilities of Radius engine this
1:26
capabilities of Radius engine this
1:26
capabilities of Radius engine this separate distributed cache layer allows
1:28
separate distributed cache layer allows
1:28
separate distributed cache layer allows your data to here to scale independently
1:32
your data to here to scale independently
1:32
your data to here to scale independently for more efficient use of compute
1:34
for more efficient use of compute
1:34
for more efficient use of compute resources in your application layer so
1:37
resources in your application layer so
1:37
resources in your application layer so let's start
1:38
let's start this this is the agenda of our
1:41
this this is the agenda of our
1:41
this this is the agenda of our application uh first of all we will talk
1:44
application uh first of all we will talk
1:44
application uh first of all we will talk about Azure cacher for radius uh and
1:47
about Azure cacher for radius uh and
1:47
about Azure cacher for radius uh and then we will talk about the few key
1:49
then we will talk about the few key
1:49
then we will talk about the few key concept concepts of azure cachier radius
1:52
concept concepts of azure cachier radius
1:52
concept concepts of azure cachier radius what is azure cachier what is radius and
1:55
what is azure cachier what is radius and
1:55
what is azure cachier what is radius and then we will go to aure portal where we
1:58
then we will go to aure portal where we
1:58
then we will go to aure portal where we will create aure cach for radius
2:00
will create aure cach for radius
2:00
will create aure cach for radius instance and then we will integrate that
2:03
instance and then we will integrate that
2:03
instance and then we will integrate that into asp.net core application and at the
2:06
into asp.net core application and at the
2:06
into asp.net core application and at the end we will have a QA session so let's
2:09
end we will have a QA session so let's
2:09
end we will have a QA session so let's start
2:10
start this so this is your host uh habibu ran
2:14
this so this is your host uh habibu ran
2:14
this so this is your host uh habibu ran I'm two times cop Corner MVP Microsoft
2:17
I'm two times cop Corner MVP Microsoft
2:17
I'm two times cop Corner MVP Microsoft certified solution developer and
2:20
certified solution developer and
2:20
certified solution developer and currently working as a lead software
2:22
currently working as a lead software
2:22
currently working as a lead software developer at now
2:24
developer at now software so here are the key concepts of
2:27
software so here are the key concepts of
2:27
software so here are the key concepts of radius cache first of all uh what is
2:30
radius cache first of all uh what is
2:30
radius cache first of all uh what is cache a cache is a temporary storage
2:33
cache a cache is a temporary storage
2:33
cache a cache is a temporary storage layer that holds a subset of data
2:36
layer that holds a subset of data
2:36
layer that holds a subset of data typically in memory to speed up data
2:38
typically in memory to speed up data
2:39
typically in memory to speed up data retrieval and reduce the load on backend
2:41
retrieval and reduce the load on backend
2:41
retrieval and reduce the load on backend data stores for a short limit of
2:44
data stores for a short limit of
2:45
data stores for a short limit of time the main purpose of cache is to
2:48
time the main purpose of cache is to
2:48
time the main purpose of cache is to improve the performance of your
2:50
improve the performance of your
2:50
improve the performance of your application by enabling fostter access
2:52
application by enabling fostter access
2:52
application by enabling fostter access to frequently access data so for example
2:56
to frequently access data so for example
2:56
to frequently access data so for example you have an
2:57
you have an application uh and you have to retrieve
3:01
application uh and you have to retrieve
3:01
application uh and you have to retrieve uh data from the database and there are
3:04
uh data from the database and there are
3:04
uh data from the database and there are data there are a few type of data which
3:07
data there are a few type of data which
3:07
data there are a few type of data which is uh accessed to frequently then this
3:11
is uh accessed to frequently then this
3:11
is uh accessed to frequently then this may be a bottleneck for the performance
3:13
may be a bottleneck for the performance
3:13
may be a bottleneck for the performance of your application so you can remove
3:16
of your application so you can remove
3:16
of your application so you can remove this bottleneck by
3:18
this bottleneck by introducing uh cache and you can cache
3:21
introducing uh cache and you can cache
3:21
introducing uh cache and you can cache that data so that uh the frequently
3:24
that data so that uh the frequently
3:24
that data so that uh the frequently accessed data latency can be decreased
3:28
accessed data latency can be decreased
3:28
accessed data latency can be decreased and your performance can be increased uh
3:31
and your performance can be increased uh
3:31
and your performance can be increased uh then next we have radius what is radius
3:34
then next we have radius what is radius
3:34
then next we have radius what is radius basically radius is a remote dictionary
3:36
basically radius is a remote dictionary
3:36
basically radius is a remote dictionary server it's an open-source uh inmemory
3:40
server it's an open-source uh inmemory
3:40
server it's an open-source uh inmemory data structure store used as a database
3:42
data structure store used as a database
3:43
data structure store used as a database cache and message broker so it's
3:45
cache and message broker so it's
3:45
cache and message broker so it's basically inmemory
3:47
basically inmemory database uh then we have aure cache for
3:50
database uh then we have aure cache for
3:50
database uh then we have aure cache for radius uh um basically it's a managed
3:53
radius uh um basically it's a managed
3:53
radius uh um basically it's a managed caching service provided by Azure built
3:56
caching service provided by Azure built
3:56
caching service provided by Azure built on the open source radius platform it
3:59
on the open source radius platform it
3:59
on the open source radius platform it offers secure dedicated radius instances
4:03
offers secure dedicated radius instances
4:03
offers secure dedicated radius instances managed by
4:05
managed by Azure then uh we have many use cases for
4:08
Azure then uh we have many use cases for
4:08
Azure then uh we have many use cases for Azure cache for ads uh we commonly use
4:12
Azure cache for ads uh we commonly use
4:12
Azure cache for ads uh we commonly use this for improving application
4:14
this for improving application
4:14
this for improving application performance enabling realtime analytics
4:17
performance enabling realtime analytics
4:17
performance enabling realtime analytics session management and caching web page
4:20
session management and caching web page
4:20
session management and caching web page content uh next we have caching instance
4:24
content uh next we have caching instance
4:24
content uh next we have caching instance uh basically a single radius server
4:26
uh basically a single radius server
4:26
uh basically a single radius server instance managed by Azure which can be
4:29
instance managed by Azure which can be
4:29
instance managed by Azure which can be configured with specific size
4:32
configured with specific size
4:32
configured with specific size replication and persistence settings
4:35
replication and persistence settings
4:35
replication and persistence settings then we have uh scaling option as well
4:37
then we have uh scaling option as well
4:37
then we have uh scaling option as well so you can uh cache instance can be
4:40
so you can uh cache instance can be
4:40
so you can uh cache instance can be scaled up or down based on your
4:43
scaled up or down based on your
4:43
scaled up or down based on your application requirements uh then we have
4:46
application requirements uh then we have
4:46
application requirements uh then we have data structure aure cache for radius
4:48
data structure aure cache for radius
4:48
data structure aure cache for radius supports various data structures such as
4:52
supports various data structures such as
4:52
supports various data structures such as strings hashes lists sorted sets bit
4:56
strings hashes lists sorted sets bit
4:57
strings hashes lists sorted sets bit maps and Hyper logs
5:00
maps and Hyper logs these data structures enable efficient
5:02
these data structures enable efficient
5:02
these data structures enable efficient storage and retrieval of data in
5:04
storage and retrieval of data in
5:04
storage and retrieval of data in different formates supporting a wide
5:07
different formates supporting a wide
5:07
different formates supporting a wide range of use cases clusters clusters
5:11
range of use cases clusters clusters
5:11
range of use cases clusters clusters consist of multiple radius nodes working
5:14
consist of multiple radius nodes working
5:14
consist of multiple radius nodes working together to provide higher availability
5:17
together to provide higher availability
5:17
together to provide higher availability scalability and fall tolerance
5:19
scalability and fall tolerance
5:19
scalability and fall tolerance clustering allows horizontal scaling and
5:22
clustering allows horizontal scaling and
5:22
clustering allows horizontal scaling and enables large data sets to be
5:25
enables large data sets to be
5:25
enables large data sets to be partitioned across multiple nodes
5:27
partitioned across multiple nodes
5:27
partitioned across multiple nodes improving performance and reliability
5:31
replication the process of copying data
5:34
replication the process of copying data
5:34
replication the process of copying data from one radius node to one or more
5:37
from one radius node to one or more
5:37
from one radius node to one or more radius nodes to ensure data redundancy
5:40
radius nodes to ensure data redundancy
5:40
radius nodes to ensure data redundancy and high availability and the main
5:43
and high availability and the main
5:43
and high availability and the main purpose of replication is in case of a
5:47
purpose of replication is in case of a
5:47
purpose of replication is in case of a primary node failure a replica node can
5:49
primary node failure a replica node can
5:49
primary node failure a replica node can automatically take over minimizing
5:52
automatically take over minimizing
5:52
automatically take over minimizing downtime and data loss then we have
5:55
downtime and data loss then we have
5:55
downtime and data loss then we have persistence basically aure cache for
5:58
persistence basically aure cache for
5:58
persistence basically aure cache for radius offers data persistence options
6:01
radius offers data persistence options
6:01
radius offers data persistence options to save in memory data to disk ensuring
6:04
to save in memory data to disk ensuring
6:04
to save in memory data to disk ensuring data durability even in case of a node
6:08
data durability even in case of a node
6:09
data durability even in case of a node failure uh two common persistence
6:11
failure uh two common persistence
6:11
failure uh two common persistence methods are radius database backup
6:13
methods are radius database backup
6:13
methods are radius database backup snapshots and aof basically upend only
6:17
snapshots and aof basically upend only
6:17
snapshots and aof basically upend only file logs uh then we have Security
6:20
file logs uh then we have Security
6:20
file logs uh then we have Security Options you can integrate as your cache
6:23
Options you can integrate as your cache
6:24
Options you can integrate as your cache for adus with virtual networks to
6:26
for adus with virtual networks to
6:26
for adus with virtual networks to isolate cach instance within a private
6:29
isolate cach instance within a private
6:29
isolate cach instance within a private Network
6:30
Network and you can manage access by role base
6:33
and you can manage access by role base
6:33
and you can manage access by role base access control or integration with as
6:36
access control or integration with as
6:36
access control or integration with as your active directory as well we also
6:40
your active directory as well we also
6:40
your active directory as well we also have encryption options you can encrypt
6:43
have encryption options you can encrypt
6:43
have encryption options you can encrypt your data both in transit and address to
6:46
your data both in transit and address to
6:46
your data both in transit and address to protect sensitive information in aor
6:49
protect sensitive information in aor
6:49
protect sensitive information in aor Cache
6:50
Cache radius then it also provide us
6:53
radius then it also provide us
6:53
radius then it also provide us monitoring and management you can
6:55
monitoring and management you can
6:55
monitoring and management you can integrate with aure monitor for tracking
6:57
integrate with aure monitor for tracking
6:57
integrate with aure monitor for tracking performance metrics and uh tracking
7:00
performance metrics and uh tracking
7:00
performance metrics and uh tracking different user patterns and health
7:02
different user patterns and health
7:02
different user patterns and health status of cach instance uh you can scale
7:07
status of cach instance uh you can scale
7:07
status of cach instance uh you can scale up the caches size and performance
7:09
up the caches size and performance
7:09
up the caches size and performance characteristics by changing the pricing
7:11
characteristics by changing the pricing
7:11
characteristics by changing the pricing tier you can make it horizontal scaling
7:14
tier you can make it horizontal scaling
7:14
tier you can make it horizontal scaling by adding or removing nodes in the
7:16
by adding or removing nodes in the
7:16
by adding or removing nodes in the clustered
7:17
clustered configuration uh it also provide us
7:20
configuration uh it also provide us
7:20
configuration uh it also provide us inter Enterprises level
7:22
inter Enterprises level
7:22
inter Enterprises level features for example Advanced features
7:25
features for example Advanced features
7:25
features for example Advanced features available in premium tiers such as
7:27
available in premium tiers such as
7:27
available in premium tiers such as active GE application redus on flesh and
7:31
active GE application redus on flesh and
7:31
active GE application redus on flesh and private end points then it also provides
7:34
private end points then it also provides
7:34
private end points then it also provides service level agreements that guarantee
7:36
service level agreements that guarantee
7:36
service level agreements that guarantee uptime and performance and these are
7:39
uptime and performance and these are
7:39
uptime and performance and these are critical for Enterprises level
7:41
critical for Enterprises level
7:41
critical for Enterprises level application so uh understanding these
7:44
application so uh understanding these
7:44
application so uh understanding these Concepts helps in efficiently leveraging
7:47
Concepts helps in efficiently leveraging
7:47
Concepts helps in efficiently leveraging Azure CFR radius to enhance application
7:51
Azure CFR radius to enhance application
7:51
Azure CFR radius to enhance application performance reliability and
7:55
scalability uh next we have a common way
7:58
scalability uh next we have a common way
7:58
scalability uh next we have a common way to use AO cachier uh so this is
8:02
to use AO cachier uh so this is
8:02
to use AO cachier uh so this is basically uh cachier a side pattern in
8:05
basically uh cachier a side pattern in
8:05
basically uh cachier a side pattern in this pattern this is the simpl one for
8:08
this pattern this is the simpl one for
8:08
this pattern this is the simpl one for example you are uh showing a record of
8:11
example you are uh showing a record of
8:11
example you are uh showing a record of student so first of all you will check
8:14
student so first of all you will check
8:14
student so first of all you will check that inside the cache if it exist inside
8:19
that inside the cache if it exist inside
8:19
that inside the cache if it exist inside the cache then you will show that to the
8:21
the cache then you will show that to the
8:21
the cache then you will show that to the customer and if it don't exist in the
8:24
customer and if it don't exist in the
8:24
customer and if it don't exist in the gash then you will retrieve that record
8:26
gash then you will retrieve that record
8:26
gash then you will retrieve that record from your database and that me maybe any
8:29
from your database and that me maybe any
8:29
from your database and that me maybe any database and then uh you will update
8:33
database and then uh you will update
8:33
database and then uh you will update that data into cache and will show to
8:35
that data into cache and will show to
8:35
that data into cache and will show to the user and next time whenever customer
8:38
the user and next time whenever customer
8:38
the user and next time whenever customer will come it will find the data from the
8:41
will come it will find the data from the
8:41
will come it will find the data from the cache if that data have not been expired
8:45
cache if that data have not been expired
8:45
cache if that data have not been expired so this is the simplest pattern uh that
8:49
so this is the simplest pattern uh that
8:49
so this is the simplest pattern uh that mostly developers are using and in today
8:52
mostly developers are using and in today
8:52
mostly developers are using and in today episode we will be using this Patron for
8:55
episode we will be using this Patron for
8:55
episode we will be using this Patron for our asp.net or MVC
8:57
our asp.net or MVC application so so let's start this uh
9:01
application so so let's start this uh
9:01
application so so let's start this uh first of all we will create a z cache
9:03
first of all we will create a z cache
9:03
first of all we will create a z cache for radius
9:05
for radius instance uh then we will move to create
9:08
instance uh then we will move to create
9:08
instance uh then we will move to create asp.net core web apps uh we will set up
9:12
asp.net core web apps uh we will set up
9:12
asp.net core web apps uh we will set up distributed cache inside asp.net core
9:15
distributed cache inside asp.net core
9:15
distributed cache inside asp.net core then we will integrate as your cashier
9:17
then we will integrate as your cashier
9:17
then we will integrate as your cashier for radius and then we will Implement
9:19
for radius and then we will Implement
9:19
for radius and then we will Implement cashier s side pattern and we will see
9:22
cashier s side pattern and we will see
9:22
cashier s side pattern and we will see the result how it
9:25
the result how it works uh so let me share my screen
9:36
okay so I already have logged in my
9:40
okay so I already have logged in my
9:40
okay so I already have logged in my account if you don't have an account on
9:43
account if you don't have an account on
9:43
account if you don't have an account on Azure you can uh start a free trial or
9:46
Azure you can uh start a free trial or
9:46
Azure you can uh start a free trial or you can create a student
9:48
you can create a student
9:48
you can create a student account uh so let's start this first of
9:52
account uh so let's start this first of
9:52
account uh so let's start this first of all uh go to home click on create a
9:57
all uh go to home click on create a
9:57
all uh go to home click on create a resource and I will search for aure AE
10:02
resource and I will search for aure AE
10:02
resource and I will search for aure AE for
10:09
radius okay here you can see that
10:12
radius okay here you can see that
10:12
radius okay here you can see that different services are showing uh I will
10:15
different services are showing uh I will
10:15
different services are showing uh I will be using as your cach for ads so click
10:18
be using as your cach for ads so click
10:18
be using as your cach for ads so click on
10:23
this Microsoft is loading it for me
10:36
Okay click on create
10:39
button now it will uh move me to the uh
10:43
button now it will uh move me to the uh
10:44
button now it will uh move me to the uh create blade uh okay first of all I need
10:48
create blade uh okay first of all I need
10:48
create blade uh okay first of all I need to select the project details I need to
10:51
to select the project details I need to
10:51
to select the project details I need to select the subscription which is pay as
10:53
select the subscription which is pay as
10:53
select the subscription which is pay as you go then I need to select the
10:54
you go then I need to select the
10:54
you go then I need to select the resource Group I will select an existing
10:57
resource Group I will select an existing
10:57
resource Group I will select an existing Resource Group a es basically as your
11:00
Resource Group a es basically as your
11:00
Resource Group a es basically as your essential
11:02
essential series uh then we need to specify the
11:06
series uh then we need to specify the
11:06
series uh then we need to specify the instance details this is the DNS name or
11:09
instance details this is the DNS name or
11:09
instance details this is the DNS name or the unique name that we will be using
11:11
the unique name that we will be using
11:11
the unique name that we will be using for accessing or as your cache so we can
11:16
for accessing or as your cache so we can
11:16
for accessing or as your cache so we can specify any name for example I can say
11:19
specify any name for example I can say
11:19
specify any name for example I can say that
11:23
AES demo. net okay so make sure this name is
11:25
net okay so make sure this name is
11:25
net okay so make sure this name is unique okay this name is unique and I
11:28
unique okay this name is unique and I
11:28
unique okay this name is unique and I can access it
11:29
can access it then we need to select the location and
11:32
then we need to select the location and
11:32
then we need to select the location and I will Select East us then we have cache
11:36
I will Select East us then we have cache
11:36
I will Select East us then we have cache uh different pricings so here you can
11:40
uh different pricings so here you can
11:40
uh different pricings so here you can see that different plans are
11:43
see that different plans are
11:43
see that different plans are available we have basic plan which is uh
11:46
available we have basic plan which is uh
11:46
available we have basic plan which is uh no SLA and this basic plan not provide
11:50
no SLA and this basic plan not provide
11:50
no SLA and this basic plan not provide any service level agreement then we have
11:52
any service level agreement then we have
11:52
any service level agreement then we have a standard plan uh this also provides
11:56
a standard plan uh this also provides
11:56
a standard plan uh this also provides the availability of
11:58
the availability of 99.9% then we have Premium plan and then
12:01
99.9% then we have Premium plan and then
12:01
99.9% then we have Premium plan and then we have ENT Enterprises level
12:04
we have ENT Enterprises level
12:04
we have ENT Enterprises level plan so these are different plan we can
12:07
plan so these are different plan we can
12:07
plan so these are different plan we can use for that uh but in my episode I will
12:11
use for that uh but in my episode I will
12:11
use for that uh but in my episode I will be using the basic plan nol because I'm
12:14
be using the basic plan nol because I'm
12:14
be using the basic plan nol because I'm just doing it uh for proof of concept
12:17
just doing it uh for proof of concept
12:17
just doing it uh for proof of concept then we have caches size so here you can
12:20
then we have caches size so here you can
12:20
then we have caches size so here you can see that different sizes are available
12:22
see that different sizes are available
12:22
see that different sizes are available varying from 250 MB cache to 53 GB cache
12:28
varying from 250 MB cache to 53 GB cache
12:28
varying from 250 MB cache to 53 GB cache so these are different sizes uh I will
12:30
so these are different sizes uh I will
12:30
so these are different sizes uh I will select 250 MB cachia I think so that is
12:33
select 250 MB cachia I think so that is
12:33
select 250 MB cachia I think so that is enough for me uh so click on next
12:37
enough for me uh so click on next
12:37
enough for me uh so click on next button so here you can have different
12:40
button so here you can have different
12:40
button so here you can have different network connectivity options so I want
12:43
network connectivity options so I want
12:43
network connectivity options so I want to make it publicly uh accessible so
12:46
to make it publicly uh accessible so
12:46
to make it publicly uh accessible so that I can test it with my local asp.net
12:49
that I can test it with my local asp.net
12:49
that I can test it with my local asp.net core project so I will go with the
12:51
core project so I will go with the
12:51
core project so I will go with the default
12:53
default setting uh then we have uh here few
12:55
setting uh then we have uh here few
12:56
setting uh then we have uh here few advanced settings for example you can
12:58
advanced settings for example you can
12:58
advanced settings for example you can select the radius verion currently only
13:00
select the radius verion currently only
13:00
select the radius verion currently only one varion is available here so that is
13:03
one varion is available here so that is
13:03
one varion is available here so that is by default selected we have uh non TLS
13:08
by default selected we have uh non TLS
13:08
by default selected we have uh non TLS support then we have authentication
13:10
support then we have authentication
13:10
support then we have authentication options we can also select here
13:14
options we can also select here
13:14
options we can also select here Microsoft intra authentication or we can
13:17
Microsoft intra authentication or we can
13:17
Microsoft intra authentication or we can select access key authentication so I
13:20
select access key authentication so I
13:20
select access key authentication so I will be using access key
13:22
will be using access key
13:22
will be using access key authentication for my demo then uh click
13:26
authentication for my demo then uh click
13:26
authentication for my demo then uh click on TXS here you can set any TX for your
13:29
on TXS here you can set any TX for your
13:29
on TXS here you can set any TX for your Azure
13:30
Azure resource and now Azure is finalizing the
13:34
resource and now Azure is finalizing the
13:34
resource and now Azure is finalizing the requirement so this is the details of my
13:38
requirement so this is the details of my
13:38
requirement so this is the details of my Azure cach instance so let's create this
13:42
Azure cach instance so let's create this
13:42
Azure cach instance so let's create this this will basically take uh around 3 to
13:46
this will basically take uh around 3 to
13:46
this will basically take uh around 3 to 4 minutes to create z a for
13:50
4 minutes to create z a for
13:50
4 minutes to create z a for radius
13:52
radius so let's wait for this currently it's
13:55
so let's wait for this currently it's
13:55
so let's wait for this currently it's submitting my deployment
14:05
okay my deployment is in progress so
14:09
okay my deployment is in progress so
14:09
okay my deployment is in progress so meanwhile uh when Azure is deploying my
14:13
meanwhile uh when Azure is deploying my
14:13
meanwhile uh when Azure is deploying my uh Azure cashier radius instance let's
14:16
uh Azure cashier radius instance let's
14:16
uh Azure cashier radius instance let's move to the asp.net core MVC
14:21
application so I already have created
14:24
application so I already have created
14:24
application so I already have created one
14:26
one application this is basically a asp.net
14:30
application this is basically a asp.net
14:30
application this is basically a asp.net cor MVC
14:31
cor MVC application this is the default template
14:34
application this is the default template
14:34
application this is the default template uh provided by V studio uh I already
14:38
uh provided by V studio uh I already
14:38
uh provided by V studio uh I already have created one crud operation on
14:42
have created one crud operation on
14:42
have created one crud operation on students so let me show you
14:49
that this is the simple crow operation
14:52
that this is the simple crow operation
14:52
that this is the simple crow operation and now we will integrate distributed
14:55
and now we will integrate distributed
14:55
and now we will integrate distributed cache inside our esp.net forc
14:58
cache inside our esp.net forc
14:58
cache inside our esp.net forc application using as your cach uh so
15:01
application using as your cach uh so
15:01
application using as your cach uh so let's move to
15:04
let's move to students okay so here you can see that a
15:07
students okay so here you can see that a
15:07
students okay so here you can see that a list of students is showing I have added
15:11
list of students is showing I have added
15:11
list of students is showing I have added created at and updated at time inside my
15:14
created at and updated at time inside my
15:14
created at and updated at time inside my uh student record so that we can uh
15:17
uh student record so that we can uh
15:17
uh student record so that we can uh check whether this data is being cached
15:20
check whether this data is being cached
15:20
check whether this data is being cached or
15:22
or not so here is the complete crowd
15:26
not so here is the complete crowd
15:26
not so here is the complete crowd operation I can specify different names
15:28
operation I can specify different names
15:28
operation I can specify different names here
15:32
I can specify a phone number
15:35
I can specify a phone number
15:35
I can specify a phone number here and
15:40
address you can specify any
15:44
address you can specify any
15:44
address you can specify any address this is just for testing purpose
15:47
address this is just for testing purpose
15:47
address this is just for testing purpose so click on create button so you can see
15:49
so click on create button so you can see
15:49
so click on create button so you can see that uh a new student record have been
15:52
that uh a new student record have been
15:52
that uh a new student record have been created you can see the details of this
15:56
created you can see the details of this
15:56
created you can see the details of this student and you can edit the student as
15:58
student and you can edit the student as
15:59
student and you can edit the student as as well and at the end you can delete
16:01
as well and at the end you can delete
16:01
as well and at the end you can delete this student so this is the complete
16:04
this student so this is the complete
16:04
this student so this is the complete crud operation we are performing on
16:07
crud operation we are performing on
16:07
crud operation we are performing on student
16:08
student entity so now let's move to the code and
16:12
entity so now let's move to the code and
16:12
entity so now let's move to the code and let me show you the existing
16:15
let me show you the existing
16:15
let me show you the existing project uh first of all I have a student
16:18
project uh first of all I have a student
16:18
project uh first of all I have a student model basically this is the domain model
16:22
model basically this is the domain model
16:22
model basically this is the domain model which I am using with my database uh
16:25
which I am using with my database uh
16:25
which I am using with my database uh inside this I have ID name email and uh
16:29
inside this I have ID name email and uh
16:29
inside this I have ID name email and uh other information of the student and
16:31
other information of the student and
16:31
other information of the student and then at the end we have two timestamps
16:33
then at the end we have two timestamps
16:33
then at the end we have two timestamps created and and updated
16:36
created and and updated
16:36
created and and updated and then I have created One controller
16:40
and then I have created One controller
16:40
and then I have created One controller which is basically a student controller
16:42
which is basically a student controller
16:42
which is basically a student controller and this controller is performing prod
16:44
and this controller is performing prod
16:44
and this controller is performing prod operations on the student and I also
16:48
operations on the student and I also
16:48
operations on the student and I also have views for the student
16:51
have views for the student
16:51
have views for the student controller so this is the basic setup of
16:56
controller so this is the basic setup of
16:56
controller so this is the basic setup of uh my code project uh so first of all we
17:00
uh my code project uh so first of all we
17:00
uh my code project uh so first of all we need to install few nugget
17:07
packages I already have installed those
17:10
packages I already have installed those
17:10
packages I already have installed those packages uh so let me show you that
17:14
packages uh so let me show you that
17:14
packages uh so let me show you that basically first of all we need to uh
17:17
basically first of all we need to uh
17:18
basically first of all we need to uh install microsoft. extensions. caching
17:21
install microsoft. extensions. caching
17:21
install microsoft. extensions. caching do stack exchange radius so this is the
17:25
do stack exchange radius so this is the
17:25
do stack exchange radius so this is the buildin extension package provided by
17:29
buildin extension package provided by
17:29
buildin extension package provided by Microsoft uh which basically connect I
17:32
Microsoft uh which basically connect I
17:32
Microsoft uh which basically connect I distributed cache instance with the
17:34
distributed cache instance with the
17:34
distributed cache instance with the radius and then we need to install stack
17:37
radius and then we need to install stack
17:37
radius and then we need to install stack exchange. radius package this package
17:40
exchange. radius package this package
17:40
exchange. radius package this package will help us to communicate with radius
17:43
will help us to communicate with radius
17:43
will help us to communicate with radius client synchronously and asynchronously
17:46
client synchronously and asynchronously
17:46
client synchronously and asynchronously so you have to install these two
17:50
so you have to install these two
17:50
so you have to install these two packages okay after installing these
17:52
packages okay after installing these
17:53
packages okay after installing these packages first of all you need to set
17:55
packages first of all you need to set
17:56
packages first of all you need to set your uh connections inside your app
17:59
your uh connections inside your app
17:59
your uh connections inside your app settings so inside connection strings
18:02
settings so inside connection strings
18:02
settings so inside connection strings inside radius connection I have created
18:04
inside radius connection I have created
18:04
inside radius connection I have created a connection radius connection and here
18:07
a connection radius connection and here
18:07
a connection radius connection and here you need to put uh your connection
18:11
you need to put uh your connection
18:11
you need to put uh your connection details so we have to check whether our
18:15
details so we have to check whether our
18:15
details so we have to check whether our deployment have been completed or not uh
18:17
deployment have been completed or not uh
18:18
deployment have been completed or not uh still it is showing deployment in
18:20
still it is showing deployment in
18:20
still it is showing deployment in progress uh so we will currently move to
18:23
progress uh so we will currently move to
18:23
progress uh so we will currently move to the next uh next Insight program. CS
18:28
the next uh next Insight program. CS
18:28
the next uh next Insight program. CS file
18:29
file we have to configure or we have to re
18:33
we have to configure or we have to re
18:33
we have to configure or we have to re register uh this service add exchange
18:36
register uh this service add exchange
18:36
register uh this service add exchange radius
18:37
radius cach so first in the first option you
18:41
cach so first in the first option you
18:41
cach so first in the first option you need to provide the radius connection
18:43
need to provide the radius connection
18:43
need to provide the radius connection string and then you need to specify the
18:46
string and then you need to specify the
18:46
string and then you need to specify the instance name so this can be any name
18:49
instance name so this can be any name
18:49
instance name so this can be any name which you are specifying you are as your
18:51
which you are specifying you are as your
18:51
which you are specifying you are as your cachier instance so now after adding
18:55
cachier instance so now after adding
18:56
cachier instance so now after adding this service asp.net core MV
18:59
this service asp.net core MV
18:59
this service asp.net core MV application uh will automatically
19:02
application uh will automatically
19:02
application uh will automatically connect with Azure cache for radius uh
19:06
connect with Azure cache for radius uh
19:06
connect with Azure cache for radius uh and I can access this using I
19:09
and I can access this using I
19:09
and I can access this using I distributed cache
19:13
instance okay uh now the next option is
19:18
instance okay uh now the next option is
19:18
instance okay uh now the next option is I will create a cache
19:21
I will create a cache
19:21
I will create a cache service for accessing the records so I
19:25
service for accessing the records so I
19:25
service for accessing the records so I will uh create a new folder here I will
19:29
will uh create a new folder here I will
19:29
will uh create a new folder here I will say it
19:31
say it services and inside this folder I will
19:34
services and inside this folder I will
19:34
services and inside this folder I will create a
19:40
class cachier service and I will be using this uh
19:44
service and I will be using this uh
19:44
service and I will be using this uh first of all I need a
19:46
first of all I need a
19:46
first of all I need a Constructor and I need to inject one
19:49
Constructor and I need to inject one
19:49
Constructor and I need to inject one service basically which is I distributed
19:54
service basically which is I distributed
19:54
service basically which is I distributed cache
20:04
I can say it cash it inject it inside our uh
20:10
Constructor okay uh so now I can access
20:14
Constructor okay uh so now I can access
20:14
Constructor okay uh so now I can access the aure cache for radius using this I
20:17
the aure cache for radius using this I
20:17
the aure cache for radius using this I distributed cache
20:19
distributed cache instance next I need to create two
20:22
instance next I need to create two
20:22
instance next I need to create two methods the first method will be for
20:26
methods the first method will be for
20:26
methods the first method will be for setting my cach
20:30
setting my cach so I can say it set
20:32
so I can say it set async and first of all I need to get the
20:35
async and first of all I need to get the
20:35
async and first of all I need to get the cache key basically inside cache we have
20:39
cache key basically inside cache we have
20:39
cache key basically inside cache we have to specify a unique cache key so that we
20:43
to specify a unique cache key so that we
20:43
to specify a unique cache key so that we can access or Cache using this unique
20:47
can access or Cache using this unique
20:47
can access or Cache using this unique key okay uh I am uh making this cache
20:51
key okay uh I am uh making this cache
20:51
key okay uh I am uh making this cache service I generic one so I will be using
20:55
service I generic one so I will be using
20:55
service I generic one so I will be using generics here so that uh I can put any
21:00
generics here so that uh I can put any
21:00
generics here so that uh I can put any cachier item with type
21:03
cachier item with type
21:03
cachier item with type safety okay uh so this is the method and
21:07
safety okay uh so this is the method and
21:07
safety okay uh so this is the method and now I need to
21:10
now I need to call cache do set string
21:14
call cache do set string
21:14
call cache do set string Asing and inside this uh I need to put
21:18
Asing and inside this uh I need to put
21:18
Asing and inside this uh I need to put my item after serializing it into Json
21:23
my item after serializing it into Json
21:23
my item after serializing it into Json so I will be using Json convert
21:36
object it's giving me an error so let's
21:38
object it's giving me an error so let's
21:38
object it's giving me an error so let's see what's wrong with
21:41
see what's wrong with
21:41
see what's wrong with it okay so now what I am doing here
21:45
it okay so now what I am doing here
21:45
it okay so now what I am doing here first of all I am serializing my
21:49
first of all I am serializing my
21:49
first of all I am serializing my item into Json and then saving that Json
21:53
item into Json and then saving that Json
21:53
item into Json and then saving that Json as a string insight as your
21:56
as a string insight as your
21:56
as a string insight as your cache so I need to put an wait here and
22:00
cache so I need to put an wait here and
22:00
cache so I need to put an wait here and make this method Asing so now this
22:03
make this method Asing so now this
22:03
make this method Asing so now this method will help me to set an item
22:05
method will help me to set an item
22:05
method will help me to set an item inside as your cache uh the next option
22:09
inside as your cache uh the next option
22:09
inside as your cache uh the next option that I need to set is basically
22:11
that I need to set is basically
22:11
that I need to set is basically distributed cache entry options and
22:14
distributed cache entry options and
22:14
distributed cache entry options and inside these options we have different
22:17
inside these options we have different
22:17
inside these options we have different expiration settings basically uh cachier
22:21
expiration settings basically uh cachier
22:21
expiration settings basically uh cachier expiration tells when this value will be
22:24
expiration tells when this value will be
22:24
expiration tells when this value will be removed from the cache for example
22:27
removed from the cache for example
22:27
removed from the cache for example basically cach is an inmemory storage so
22:32
basically cach is an inmemory storage so
22:32
basically cach is an inmemory storage so it's very expensive and we only save the
22:35
it's very expensive and we only save the
22:35
it's very expensive and we only save the data which is very frequently accessed
22:39
data which is very frequently accessed
22:39
data which is very frequently accessed uh so we will put an absolute expiration
22:43
uh so we will put an absolute expiration
22:43
uh so we will put an absolute expiration relative to now for this and I will say
22:46
relative to now for this and I will say
22:47
relative to now for this and I will say time span from seconds so which means
22:50
time span from seconds so which means
22:50
time span from seconds so which means after storing the
22:52
after storing the data uh after 30 seconds the item will
22:56
data uh after 30 seconds the item will
22:56
data uh after 30 seconds the item will be removed from or cash so this is the
23:00
be removed from or cash so this is the
23:01
be removed from or cash so this is the uh setting whenever a new item will be
23:04
uh setting whenever a new item will be
23:04
uh setting whenever a new item will be uh set inside our cach uh then I need to
23:08
uh set inside our cach uh then I need to
23:08
uh set inside our cach uh then I need to create an instance this will basically
23:12
create an instance this will basically
23:12
create an instance this will basically get
23:14
get the item from the Azure
23:17
the item from the Azure
23:17
the item from the Azure cachier I need to put only key
23:23
here and here I will say cash Json a
23:28
here and here I will say cash Json a
23:28
here and here I will say cash Json a cache. get string async and here I need
23:31
cache. get string async and here I need
23:31
cache. get string async and here I need to put the key uh so first of all I will
23:35
to put the key uh so first of all I will
23:35
to put the key uh so first of all I will check whether this is null or
23:40
not and if it is null uh we will return
23:47
not and if it is null uh we will return
23:47
not and if it is null uh we will return null and I will say it
23:50
null and I will say it
23:50
null and I will say it nullable and if this record exist I will
23:54
nullable and if this record exist I will
23:54
nullable and if this record exist I will convert it into simple object of after
23:59
convert it into simple object of after
23:59
convert it into simple object of after deserializing so I will say it here and
24:02
deserializing so I will say it here and
24:02
deserializing so I will say it here and pass the CET Json
24:10
here okay now what I am doing here first
24:13
here okay now what I am doing here first
24:13
here okay now what I am doing here first of all I am getting the saved string
24:17
of all I am getting the saved string
24:17
of all I am getting the saved string against this uh cache key and then I am
24:21
against this uh cache key and then I am
24:21
against this uh cache key and then I am checking whether this is null or empty
24:24
checking whether this is null or empty
24:24
checking whether this is null or empty or not and if this is null or empty I am
24:27
or not and if this is null or empty I am
24:27
or not and if this is null or empty I am returning the
24:29
returning the null and if this is not null I am uh I
24:33
null and if this is not null I am uh I
24:33
null and if this is not null I am uh I am deserializing this into cop object
24:37
am deserializing this into cop object
24:37
am deserializing this into cop object it's giving me an
24:49
error okay so this is my cashier Service uh
24:53
okay so this is my cashier Service uh
24:53
okay so this is my cashier Service uh let's generate an interface for
24:57
this currently I will add it into a new
25:02
this currently I will add it into a new
25:02
this currently I will add it into a new file so here you can see that this is
25:05
file so here you can see that this is
25:05
file so here you can see that this is the interface uh using which I can
25:08
the interface uh using which I can
25:08
the interface uh using which I can access my cache
25:11
access my cache service let me put a condition here so
25:17
service let me put a condition here so
25:17
service let me put a condition here so that only a glass type can be passed
25:22
that only a glass type can be passed
25:22
that only a glass type can be passed inside this
25:31
so it is giving me an
25:32
so it is giving me an
25:33
so it is giving me an [Music]
25:45
errors okay let's use it as it is
25:49
let's use it as it is
25:49
let's use it as it is okay uh now the next step is we need to
25:52
okay uh now the next step is we need to
25:52
okay uh now the next step is we need to register or cachia service inside
25:55
register or cachia service inside
25:55
register or cachia service inside program.cs file so here I will say it
25:58
program.cs file so here I will say it
25:58
program.cs file so here I will say it Builder doservices
26:00
Builder doservices do add scope I will be using this add a
26:05
do add scope I will be using this add a
26:05
do add scope I will be using this add a scope so here I will say I cach a
26:09
scope so here I will say I cach a
26:09
scope so here I will say I cach a service and then cach a service so now
26:13
service and then cach a service so now
26:13
service and then cach a service so now this will uh register my cache service
26:16
this will uh register my cache service
26:16
this will uh register my cache service inside dependency injection with uh
26:19
inside dependency injection with uh
26:19
inside dependency injection with uh request
26:23
scope okay let's see uh whether or
26:28
scope okay let's see uh whether or
26:28
scope okay let's see uh whether or radius cach instance have been deployed
26:30
radius cach instance have been deployed
26:30
radius cach instance have been deployed or not it is still showing in deployment
26:33
or not it is still showing in deployment
26:33
or not it is still showing in deployment in progress let's see this
26:39
directly okay so this was uh our
26:42
directly okay so this was uh our
26:42
directly okay so this was uh our instance AES demo.
26:46
instance AES demo. net okay still it is showing me the
26:48
net okay still it is showing me the
26:48
net okay still it is showing me the instance is currently creating so let's
26:52
instance is currently creating so let's
26:52
instance is currently creating so let's wait for a few more minutes it's taking
26:54
wait for a few more minutes it's taking
26:54
wait for a few more minutes it's taking too much time okay now I have created
26:58
too much time okay now I have created
26:58
too much time okay now I have created Creed my uh cache service now I will
27:01
Creed my uh cache service now I will
27:01
Creed my uh cache service now I will inject this inside my
27:03
inject this inside my
27:03
inject this inside my controller currently I'm not using uh
27:07
controller currently I'm not using uh
27:07
controller currently I'm not using uh any architecture inside my project to
27:09
any architecture inside my project to
27:09
any architecture inside my project to make it simple so that's why I will be
27:11
make it simple so that's why I will be
27:11
make it simple so that's why I will be accessing it
27:13
accessing it directly let's create a readon field
27:18
directly let's create a readon field
27:19
directly let's create a readon field here iach
27:21
here iach service and inject this inside our
27:26
service and inject this inside our
27:26
service and inject this inside our Constructor okay
27:31
now first of all uh I will Implement
27:34
now first of all uh I will Implement
27:34
now first of all uh I will Implement ghing for my create edit and detail
27:41
ghing for my create edit and detail
27:41
ghing for my create edit and detail instance so let's use this for Details
27:44
instance so let's use this for Details
27:44
instance so let's use this for Details page uh after checking whether ID is
27:47
page uh after checking whether ID is
27:47
page uh after checking whether ID is null or not uh before getting the data
27:50
null or not uh before getting the data
27:50
null or not uh before getting the data from the
27:51
from the database so I can say here get from
27:56
database so I can say here get from
27:56
database so I can say here get from database but before this I will get this
28:00
database but before this I will get this
28:00
database but before this I will get this data from my a your
28:05
data from my a your cachier uh so let's access this by using
28:08
cachier uh so let's access this by using
28:08
cachier uh so let's access this by using caches service the one which I have
28:12
caches service the one which I have
28:12
caches service the one which I have created caches service. get
28:15
created caches service. get
28:15
created caches service. get asnc and here I want to get the
28:19
asnc and here I want to get the
28:19
asnc and here I want to get the student and here is the key of the
28:23
student and here is the key of the
28:23
student and here is the key of the student so for each student we need to
28:26
student so for each student we need to
28:26
student so for each student we need to define a unique key
28:28
define a unique key so I will be using student uncore ID as
28:31
so I will be using student uncore ID as
28:31
so I will be using student uncore ID as a unique key for
28:33
a unique key for student uh so let me save this inside
28:38
student uh so let me save this inside
28:38
student uh so let me save this inside cashet
28:42
student okay now this will basically get
28:46
student okay now this will basically get
28:46
student okay now this will basically get the student record from cash
28:49
the student record from cash
28:49
the student record from cash a but what if this record does not
28:55
exist so first of all I will say if this
28:59
exist so first of all I will say if this
28:59
exist so first of all I will say if this record exists then return the cashier
29:04
record exists then return the cashier
29:04
record exists then return the cashier record and if this record does not exist
29:08
record and if this record does not exist
29:08
record and if this record does not exist then first of all get the data from the
29:11
then first of all get the data from the
29:11
then first of all get the data from the database and then save this
29:15
database and then save this
29:15
database and then save this data inside our service so I will say
29:19
data inside our service so I will say
29:19
data inside our service so I will say set async and then
29:23
student I need to put the student key
29:26
student I need to put the student key
29:26
student I need to put the student key here
29:29
this will be same student uncore ID and
29:33
this will be same student uncore ID and
29:33
this will be same student uncore ID and then I need to set the student
29:37
then I need to set the student
29:37
then I need to set the student record so now this is uh the
29:40
record so now this is uh the
29:40
record so now this is uh the implementation of cachier site pattern
29:43
implementation of cachier site pattern
29:43
implementation of cachier site pattern in a very simple and very common way so
29:47
in a very simple and very common way so
29:48
in a very simple and very common way so first of all you are getting from the
29:49
first of all you are getting from the
29:49
first of all you are getting from the cache if data exist in the cache then
29:53
cache if data exist in the cache then
29:53
cache if data exist in the cache then show that data to the user if that data
29:56
show that data to the user if that data
29:56
show that data to the user if that data does not exist then get the data from
29:59
does not exist then get the data from
29:59
does not exist then get the data from the database and then save that data
30:02
the database and then save that data
30:02
the database and then save that data inside the cache so that whenever next
30:04
inside the cache so that whenever next
30:04
inside the cache so that whenever next time you get this data uh you can see
30:07
time you get this data uh you can see
30:07
time you get this data uh you can see this so let's put a break point
30:11
this so let's put a break point
30:11
this so let's put a break point here now uh this will work fine but
30:15
here now uh this will work fine but
30:15
here now uh this will work fine but before this we need to put our app
30:18
before this we need to put our app
30:18
before this we need to put our app settings because currently
30:20
settings because currently
30:20
settings because currently configuration uh conf currently radius
30:23
configuration uh conf currently radius
30:23
configuration uh conf currently radius connection is not configured here so
30:25
connection is not configured here so
30:25
connection is not configured here so first of all we need to put that here
30:28
first of all we need to put that here
30:28
first of all we need to put that here let's check it again whether this
30:29
let's check it again whether this
30:29
let's check it again whether this instance have been created or
30:37
not it is still showing uh the instance
30:40
not it is still showing uh the instance
30:40
not it is still showing uh the instance is creating so let's go to the back I
30:44
is creating so let's go to the back I
30:44
is creating so let's go to the back I already have created one instance so I
30:47
already have created one instance so I
30:47
already have created one instance so I will be using that one for example AES
30:51
will be using that one for example AES
30:51
will be using that one for example AES cach demo so I will be using this
30:54
cach demo so I will be using this
30:54
cach demo so I will be using this instance this is the uh same instance
30:57
instance this is the uh same instance
30:57
instance this is the uh same instance created
30:58
created with the same
31:00
with the same details okay the newly instance also
31:03
details okay the newly instance also
31:03
details okay the newly instance also have been deployed so let's use
31:06
have been deployed so let's use
31:06
have been deployed so let's use that currently uh this status is running
31:10
that currently uh this status is running
31:10
that currently uh this status is running and the size of over cache is 250 MB so
31:14
and the size of over cache is 250 MB so
31:14
and the size of over cache is 250 MB so click on show access
31:16
click on show access
31:16
click on show access keys if that option is not showing you
31:19
keys if that option is not showing you
31:19
keys if that option is not showing you can directly uh go inside
31:23
can directly uh go inside
31:23
can directly uh go inside authentication and here you can see that
31:26
authentication and here you can see that
31:26
authentication and here you can see that there are two options one is Microsoft
31:28
there are two options one is Microsoft
31:28
there are two options one is Microsoft soft inter authentication and the second
31:30
soft inter authentication and the second
31:30
soft inter authentication and the second one is access keys so I will be using
31:32
one is access keys so I will be using
31:32
one is access keys so I will be using access Keys then we have a simple key
31:36
access Keys then we have a simple key
31:36
access Keys then we have a simple key and the key with connection string for
31:39
and the key with connection string for
31:39
and the key with connection string for stack exchange. radius so I will be
31:42
stack exchange. radius so I will be
31:42
stack exchange. radius so I will be using this primary connection string
31:44
using this primary connection string
31:44
using this primary connection string this is a complete connection string us
31:47
this is a complete connection string us
31:47
this is a complete connection string us used for a stock stack exchange. radius
31:51
used for a stock stack exchange. radius
31:51
used for a stock stack exchange. radius package so I will be using this so let's
31:54
package so I will be using this so let's
31:54
package so I will be using this so let's copy this to clipboard
32:03
here okay now let's run over
32:07
here okay now let's run over
32:07
here okay now let's run over project currently we will move line by
32:10
project currently we will move line by
32:10
project currently we will move line by line so that we can see if there is any
32:13
line so that we can see if there is any
32:13
line so that we can see if there is any problem or
32:22
not okay let's refresh this okay you can
32:26
not okay let's refresh this okay you can
32:26
not okay let's refresh this okay you can see that our project is working
32:29
see that our project is working
32:29
see that our project is working fine now let's click on details
32:34
fine now let's click on details
32:34
fine now let's click on details action okay so click on f11 or press the
32:39
action okay so click on f11 or press the
32:40
action okay so click on f11 or press the f11 button so that we can uh go inside
32:43
f11 button so that we can uh go inside
32:43
f11 button so that we can uh go inside cashier
32:46
service okay first of all here check the
32:49
service okay first of all here check the
32:49
service okay first of all here check the key so this is the key for student
32:52
key so this is the key for student
32:52
key so this is the key for student record
32:54
record and okay this cash Json is currently
32:57
and okay this cash Json is currently
32:57
and okay this cash Json is currently null so if this is null return the
33:00
null so if this is null return the
33:00
null so if this is null return the default item and in this case this is
33:05
default item and in this case this is
33:05
default item and in this case this is null so I am not returning this now I am
33:08
null so I am not returning this now I am
33:08
null so I am not returning this now I am getting the student from the
33:12
getting the student from the
33:12
getting the student from the database so I got this record from the
33:15
database so I got this record from the
33:15
database so I got this record from the database now I am saving this inside the
33:20
database now I am saving this inside the
33:20
database now I am saving this inside the cache so here you can see that this have
33:23
cache so here you can see that this have
33:23
cache so here you can see that this have been saved inside cashier and then click
33:25
been saved inside cashier and then click
33:25
been saved inside cashier and then click on continue so this is showing now if I
33:28
on continue so this is showing now if I
33:28
on continue so this is showing now if I click on refresh button again and let's
33:32
click on refresh button again and let's
33:32
click on refresh button again and let's go directly here so now you can see that
33:35
go directly here so now you can see that
33:35
go directly here so now you can see that the cache student is not null here
33:38
the cache student is not null here
33:38
the cache student is not null here because uh now the record exist inside
33:42
because uh now the record exist inside
33:42
because uh now the record exist inside this cache and if I see the detail this
33:45
this cache and if I see the detail this
33:45
this cache and if I see the detail this is the same data that I have stored in
33:48
is the same data that I have stored in
33:48
is the same data that I have stored in my AET so now this record will be exist
33:52
my AET so now this record will be exist
33:52
my AET so now this record will be exist inside my cache for only 30 seconds and
33:56
inside my cache for only 30 seconds and
33:56
inside my cache for only 30 seconds and after 30 seconds this record will be
33:58
after 30 seconds this record will be
33:58
after 30 seconds this record will be removed and whenever I will refresh my
34:00
removed and whenever I will refresh my
34:00
removed and whenever I will refresh my page after 30 seconds this will show me
34:03
page after 30 seconds this will show me
34:03
page after 30 seconds this will show me the caches student is again null so
34:06
the caches student is again null so
34:06
the caches student is again null so let's click on continue button let's
34:09
let's click on continue button let's
34:09
let's click on continue button let's click on refresh
34:11
click on refresh button and if I go this so here you can
34:14
button and if I go this so here you can
34:14
button and if I go this so here you can see that uh my expiration time was 30
34:17
see that uh my expiration time was 30
34:17
see that uh my expiration time was 30 seconds so that's why the record have
34:19
seconds so that's why the record have
34:19
seconds so that's why the record have been
34:21
been removed so click on continue
34:24
removed so click on continue
34:24
removed so click on continue button so now you can see that how we
34:28
button so now you can see that how we
34:28
button so now you can see that how we can cache the most frequently accessed
34:31
can cache the most frequently accessed
34:31
can cache the most frequently accessed data inside our
34:37
database okay so now the next action is
34:43
database okay so now the next action is
34:43
database okay so now the next action is on create operation we need to add the
34:47
on create operation we need to add the
34:47
on create operation we need to add the newly created student inside our
34:50
newly created student inside our
34:50
newly created student inside our cach so after changing the uh after
34:54
cach so after changing the uh after
34:54
cach so after changing the uh after changing the student record inside our
34:57
changing the student record inside our
34:57
changing the student record inside our database
34:59
I will save this inside our cache as
35:02
I will save this inside our cache as
35:02
I will save this inside our cache as well so I will call this set a
35:05
well so I will call this set a
35:05
well so I will call this set a SN
35:07
SN student and I need to put the key
35:14
here and here I will say student uncore
35:19
here and here I will say student uncore
35:19
here and here I will say student uncore ID student.
35:21
ID student. ID and then I need to put the value of
35:25
ID and then I need to put the value of
35:25
ID and then I need to put the value of student so now whenever a new uh student
35:30
student so now whenever a new uh student
35:30
student so now whenever a new uh student will be created that record will also be
35:33
will be created that record will also be
35:33
will be created that record will also be saved inside for cache so that whenever
35:37
saved inside for cache so that whenever
35:37
saved inside for cache so that whenever a newly record is accessed by The
35:40
a newly record is accessed by The
35:40
a newly record is accessed by The Details page it can also get it from the
35:43
Details page it can also get it from the
35:43
Details page it can also get it from the cache so basically all of uh these uh
35:48
cache so basically all of uh these uh
35:48
cache so basically all of uh these uh settings where you want to uh save your
35:51
settings where you want to uh save your
35:51
settings where you want to uh save your data inside cache or not this totally
35:54
data inside cache or not this totally
35:54
data inside cache or not this totally depends on the uh business model or the
35:58
depends on the uh business model or the
35:58
depends on the uh business model or the requirements of your application so you
36:00
requirements of your application so you
36:00
requirements of your application so you will always uh you will always cat your
36:04
will always uh you will always cat your
36:04
will always uh you will always cat your data which is very frequently accessed
36:07
data which is very frequently accessed
36:07
data which is very frequently accessed so this is for just demonstration
36:09
so this is for just demonstration
36:09
so this is for just demonstration purpose so I will use it uh let's again
36:13
purpose so I will use it uh let's again
36:13
purpose so I will use it uh let's again uh put a breako here let's run it to see
36:17
uh put a breako here let's run it to see
36:17
uh put a breako here let's run it to see that whether a newly created student is
36:20
that whether a newly created student is
36:21
that whether a newly created student is uh exist inside cache or
36:23
uh exist inside cache or
36:23
uh exist inside cache or not so let's click on a create new
36:27
not so let's click on a create new
36:27
not so let's click on a create new button
36:28
button and here I can say any
36:33
name I will say any dummy
36:36
name I will say any dummy
36:36
name I will say any dummy email I will put any dumy phone
36:40
email I will put any dumy phone
36:40
email I will put any dumy phone number and I will say it Go
36:44
number and I will say it Go
36:44
number and I will say it Go by UA so this may be any record so click
36:49
by UA so this may be any record so click
36:49
by UA so this may be any record so click on create
36:51
on create button so now the new record have been
36:55
button so now the new record have been
36:55
button so now the new record have been created here
36:57
created here if I see the detail page and if I move
37:02
if I see the detail page and if I move
37:02
if I see the detail page and if I move here so you can see that I can uh get
37:05
here so you can see that I can uh get
37:05
here so you can see that I can uh get this record from my cachier as well
37:07
this record from my cachier as well
37:07
this record from my cachier as well because I saved this inside cachier
37:09
because I saved this inside cachier
37:09
because I saved this inside cachier after creating the
37:13
record so click on continue
37:19
button okay now uh next thing is how to
37:25
button okay now uh next thing is how to
37:25
button okay now uh next thing is how to uh update this record ins side over
37:29
uh update this record ins side over
37:29
uh update this record ins side over caching uh so let's go to edit action
37:35
caching uh so let's go to edit action
37:35
caching uh so let's go to edit action and after saving the changes I will uh
37:39
and after saving the changes I will uh
37:39
and after saving the changes I will uh again save this inside
37:42
again save this inside
37:42
again save this inside my cache so again I will say
37:48
my cache so again I will say
37:48
my cache so again I will say student here I will say student uncore
37:52
student here I will say student uncore
37:52
student here I will say student uncore ID
38:04
capital and after the cache key I need
38:07
capital and after the cache key I need
38:07
capital and after the cache key I need to specify the instance
38:10
to specify the instance
38:10
to specify the instance details so basically this uh set async
38:15
details so basically this uh set async
38:15
details so basically this uh set async method is doing both things whenever you
38:18
method is doing both things whenever you
38:18
method is doing both things whenever you call set string async if that string
38:20
call set string async if that string
38:21
call set string async if that string exists inside cache it create a new
38:23
exists inside cache it create a new
38:23
exists inside cache it create a new string but if that does not exist if
38:26
string but if that does not exist if
38:27
string but if that does not exist if that exist this inside cache then it
38:29
that exist this inside cache then it
38:29
that exist this inside cache then it update the existing string so this works
38:33
update the existing string so this works
38:33
update the existing string so this works basically for both operations it
38:35
basically for both operations it
38:35
basically for both operations it performs upset operation so this will
38:39
performs upset operation so this will
38:39
performs upset operation so this will work for all of our
38:44
changes currently uh I am going to
38:47
changes currently uh I am going to
38:47
changes currently uh I am going to remove or comment this line of code here
38:52
remove or comment this line of code here
38:52
remove or comment this line of code here uh so that I can see the effect of
38:56
uh so that I can see the effect of
38:56
uh so that I can see the effect of cache on my
38:59
cache on my record so let's update
39:07
this let me remove the break point I
39:10
this let me remove the break point I
39:10
this let me remove the break point I don't need it here
39:19
now okay uh if I click on
39:24
refresh currently uh this Rec card was
39:27
refresh currently uh this Rec card was
39:28
refresh currently uh this Rec card was updated at
39:29
updated at 41625 a.m. this is basically UTC time so
39:33
41625 a.m. this is basically UTC time so
39:33
41625 a.m. this is basically UTC time so click on edit
39:35
click on edit button click on again
39:38
button click on again
39:38
button click on again save so now updated at time will be
39:41
save so now updated at time will be
39:41
save so now updated at time will be updated So currently it is showing me
39:43
updated So currently it is showing me
39:43
updated So currently it is showing me 440 if I go to detail
39:46
440 if I go to detail
39:46
440 if I go to detail page so currently it is showing me again
39:50
page so currently it is showing me again
39:50
page so currently it is showing me again 440 let's update this
39:53
440 let's update this
39:53
440 let's update this again this is now 440 302 if I go to
39:57
again this is now 440 302 if I go to
39:57
again this is now 440 302 if I go to detail page it is uh showing me the
40:01
detail page it is uh showing me the
40:01
detail page it is uh showing me the updated
40:04
one okay so now you can see that how we
40:08
one okay so now you can see that how we
40:08
one okay so now you can see that how we can update our cachier records as well
40:12
can update our cachier records as well
40:12
can update our cachier records as well now let me show you uh if you want to
40:16
now let me show you uh if you want to
40:16
now let me show you uh if you want to remove an item from the cache so how you
40:19
remove an item from the cache so how you
40:19
remove an item from the cache so how you can do
40:20
can do that first of all let me show you the
40:23
that first of all let me show you the
40:23
that first of all let me show you the effect of this for example uh I have
40:27
effect of this for example uh I have
40:27
effect of this for example uh I have have removed one item from my
40:30
have removed one item from my
40:30
have removed one item from my database and that data will not be
40:33
database and that data will not be
40:33
database and that data will not be removed from the cache so let me show
40:36
removed from the cache so let me show
40:36
removed from the cache so let me show you that uh if I click on this detail
40:38
you that uh if I click on this detail
40:38
you that uh if I click on this detail Page open it in a separate tab So
40:41
Page open it in a separate tab So
40:41
Page open it in a separate tab So currently you can see that this one is
40:49
showing uh let me do one thing
40:55
here I need to uncomment this line of
40:58
here I need to uncomment this line of
40:58
here I need to uncomment this line of code so that newly record is saved
41:02
code so that newly record is saved
41:02
code so that newly record is saved inside cach so click on
41:05
inside cach so click on
41:05
inside cach so click on [Music]
41:09
again okay now refresh this
41:14
page so you can see that currently This
41:17
page so you can see that currently This
41:17
page so you can see that currently This Record is showing for Omar Khan so let
41:19
Record is showing for Omar Khan so let
41:19
Record is showing for Omar Khan so let me delete this record click on delete
41:22
me delete this record click on delete
41:22
me delete this record click on delete button so now inside this list this
41:24
button so now inside this list this
41:24
button so now inside this list this record is not showing because this is
41:26
record is not showing because this is
41:26
record is not showing because this is not coming from from cash but if I
41:28
not coming from from cash but if I
41:28
not coming from from cash but if I refresh this page so you can see that
41:31
refresh this page so you can see that
41:31
refresh this page so you can see that still the record is showing because this
41:34
still the record is showing because this
41:34
still the record is showing because this record is coming from Cache not from
41:38
record is coming from Cache not from
41:38
record is coming from Cache not from database so after 30 seconds this record
41:42
database so after 30 seconds this record
41:42
database so after 30 seconds this record will be
41:45
removed okay so now you can see that
41:48
removed okay so now you can see that
41:48
removed okay so now you can see that after 30 seconds the cache have been
41:51
after 30 seconds the cache have been
41:51
after 30 seconds the cache have been expired and now I am unable to uh get
41:54
expired and now I am unable to uh get
41:54
expired and now I am unable to uh get the record from my a
41:58
the record from my a
41:58
the record from my a so this was one effect of the
42:02
so this was one effect of the
42:02
so this was one effect of the caching so that's why whenever you
42:05
caching so that's why whenever you
42:05
caching so that's why whenever you delete a record you need to uh remove
42:09
delete a record you need to uh remove
42:09
delete a record you need to uh remove that item from the cash one option is
42:12
that item from the cash one option is
42:12
that item from the cash one option is that you can set that uh cachier item as
42:15
that you can set that uh cachier item as
42:15
that you can set that uh cachier item as a
42:18
null so let me check
42:23
that if I check whether there is an
42:26
that if I check whether there is an
42:26
that if I check whether there is an option for deleting or not so you can
42:28
option for deleting or not so you can
42:29
option for deleting or not so you can see that we have only two option one is
42:32
see that we have only two option one is
42:32
see that we have only two option one is get string set a
42:35
get string set a SN get string here we have remove Asing
42:40
SN get string here we have remove Asing
42:40
SN get string here we have remove Asing so I will implement this for
42:47
removing okay now I need to get the key
42:51
removing okay now I need to get the key
42:51
removing okay now I need to get the key here and I will call cache Dot
42:57
move and inside this I need to specify
43:01
move and inside this I need to specify
43:01
move and inside this I need to specify the
43:06
key okay now let's add this inside my
43:10
key okay now let's add this inside my
43:10
key okay now let's add this inside my interface so that I can access it inside
43:14
interface so that I can access it inside
43:14
interface so that I can access it inside my
43:15
my controller and now after deleting the
43:18
controller and now after deleting the
43:18
controller and now after deleting the record inside
43:19
record inside database let's remove that from cashia
43:22
database let's remove that from cashia
43:22
database let's remove that from cashia Service as well
43:27
so here I need to again specify the c
43:32
so here I need to again specify the c
43:32
so here I need to again specify the c key
43:39
student. so now after removing this
43:41
student. so now after removing this
43:41
student. so now after removing this record from the database I will also
43:44
record from the database I will also
43:44
record from the database I will also remove this record from the uh student
43:48
remove this record from the uh student
43:48
remove this record from the uh student as
43:53
well okay let's run this to see whether
43:58
well okay let's run this to see whether
43:58
well okay let's run this to see whether that effect is still showing or
44:04
not uh let me close extra tabs click on
44:07
not uh let me close extra tabs click on
44:08
not uh let me close extra tabs click on refresh button So currently two records
44:10
refresh button So currently two records
44:10
refresh button So currently two records are showing let's click on s y
44:16
record so this is the detail page let me
44:20
record so this is the detail page let me
44:20
record so this is the detail page let me open it inside a new tab so this record
44:23
open it inside a new tab so this record
44:23
open it inside a new tab so this record is showing let me delete this
44:27
is showing let me delete this
44:27
is showing let me delete this okay now it should be removed from the
44:30
okay now it should be removed from the
44:30
okay now it should be removed from the cachier as well so now you can see that
44:32
cachier as well so now you can see that
44:32
cachier as well so now you can see that the record have been removed from the
44:34
the record have been removed from the
44:34
the record have been removed from the cachier as
44:37
cachier as well so this is how you can uh save your
44:43
well so this is how you can uh save your
44:43
well so this is how you can uh save your data inside caching now only one action
44:47
data inside caching now only one action
44:47
data inside caching now only one action is left which is basically the index
44:50
is left which is basically the index
44:50
is left which is basically the index option so it is not a good approach to
44:54
option so it is not a good approach to
44:54
option so it is not a good approach to cache all the student list or all the
44:59
cache all the student list or all the
44:59
cache all the student list or all the records inside your cache because it can
45:02
records inside your cache because it can
45:02
records inside your cache because it can increase the burden of your cache and
45:05
increase the burden of your cache and
45:05
increase the burden of your cache and there is no benefit for saving all the
45:08
there is no benefit for saving all the
45:08
there is no benefit for saving all the records inside cache uh but still I will
45:12
records inside cache uh but still I will
45:12
records inside cache uh but still I will show you how you can save a list of
45:15
show you how you can save a list of
45:15
show you how you can save a list of student inside your caches so that is
45:17
student inside your caches so that is
45:18
student inside your caches so that is very
45:19
very simple you can use the existing uh
45:23
simple you can use the existing uh
45:23
simple you can use the existing uh methods that I have created inside
45:25
methods that I have created inside
45:25
methods that I have created inside caches service
45:28
caches service so I will
45:30
so I will say caches service
45:36
do get aing now this time I need to get a list
45:39
aing now this time I need to get a list
45:39
aing now this time I need to get a list of
45:42
student but we cannot aggregate all the
45:47
student but we cannot aggregate all the
45:47
student but we cannot aggregate all the students that we have created separately
45:49
students that we have created separately
45:49
students that we have created separately inside work Cas we have to store that
45:53
inside work Cas we have to store that
45:53
inside work Cas we have to store that separately uh but again this is not a
45:56
separately uh but again this is not a
45:57
separately uh but again this is not a good approach so don't use this for your
46:00
good approach so don't use this for your
46:00
good approach so don't use this for your production apps for learning purpose it
46:03
production apps for learning purpose it
46:03
production apps for learning purpose it is okay so now if cashier student is not
46:07
is okay so now if cashier student is not
46:07
is okay so now if cashier student is not null I will return in this inside my
46:12
null I will return in this inside my
46:12
null I will return in this inside my view so if this record does not exist
46:15
view so if this record does not exist
46:15
view so if this record does not exist inside cache I will get it from database
46:18
inside cache I will get it from database
46:18
inside cache I will get it from database and then save it inside my
46:23
cache here I need to specify the key
46:28
cache here I need to specify the key
46:28
cache here I need to specify the key and then database
46:38
students okay now I am setting this
46:41
students okay now I am setting this
46:41
students okay now I am setting this record inite cache in a separate key
46:45
record inite cache in a separate key
46:45
record inite cache in a separate key okay now uh whenever I will update my
46:48
okay now uh whenever I will update my
46:48
okay now uh whenever I will update my record that will not show on my main
46:52
record that will not show on my main
46:52
record that will not show on my main table until the
46:55
table until the existing cach will be
46:58
existing cach will be
46:58
existing cach will be expired so if I open students
47:06
controller now uh you can see that
47:09
controller now uh you can see that
47:09
controller now uh you can see that currently this is showing
47:11
currently this is showing
47:11
currently this is showing 33827 seconds if I click on edit button
47:14
33827 seconds if I click on edit button
47:14
33827 seconds if I click on edit button and save it still it is showing me the
47:17
and save it still it is showing me the
47:18
and save it still it is showing me the old updated time because now this data
47:21
old updated time because now this data
47:21
old updated time because now this data is also coming from
47:23
is also coming from cachier so click on refresh button
47:27
cachier so click on refresh button
47:27
cachier so click on refresh button 33827 seconds still the old record is
47:32
33827 seconds still the old record is
47:32
33827 seconds still the old record is showing so we can keep checking
47:36
showing so we can keep checking
47:36
showing so we can keep checking this okay so now you can see that uh the
47:40
this okay so now you can see that uh the
47:40
this okay so now you can see that uh the updated time has been updated from 3 to
47:45
updated time has been updated from 3 to
47:45
updated time has been updated from 3 to 44752 so this is you can see how the
47:48
44752 so this is you can see how the
47:48
44752 so this is you can see how the cachier is working inside our asp.net or
47:51
cachier is working inside our asp.net or
47:51
cachier is working inside our asp.net or MVC application so this was distributed
47:55
MVC application so this was distributed
47:55
MVC application so this was distributed cash
47:58
[Music] if I open the overview of my cache here
48:03
if I open the overview of my cache here
48:03
if I open the overview of my cache here you can see that this is the used
48:06
you can see that this is the used
48:06
you can see that this is the used maximum memory that is 5 59 KB and this
48:11
maximum memory that is 5 59 KB and this
48:11
maximum memory that is 5 59 KB and this is the server load which is basically
48:13
is the server load which is basically
48:13
is the server load which is basically 13% so you can see the health status of
48:18
13% so you can see the health status of
48:18
13% so you can see the health status of your aure cashi for radius inside your
48:20
your aure cashi for radius inside your
48:20
your aure cashi for radius inside your as your portal as
48:23
as your portal as well and then here we have SC in
48:27
well and then here we have SC in
48:27
well and then here we have SC in option so for example currently we are
48:30
option so for example currently we are
48:30
option so for example currently we are using
48:31
using 256 MB cach a and the estimated cost is
48:36
256 MB cach a and the estimated cost is
48:36
256 MB cach a and the estimated cost is $40 per
48:38
$40 per month so basically you can see that the
48:42
month so basically you can see that the
48:42
month so basically you can see that the cachier is very expensive memory because
48:45
cachier is very expensive memory because
48:45
cachier is very expensive memory because it's in memory uh
48:48
it's in memory uh database but if you are interested to
48:50
database but if you are interested to
48:50
database but if you are interested to upgrade you just need to uh click on the
48:54
upgrade you just need to uh click on the
48:54
upgrade you just need to uh click on the other package for example you want 2.5
48:56
other package for example you want 2.5
48:56
other package for example you want 2.5 gigabyte cach so you can click on this
48:59
gigabyte cach so you can click on this
48:59
gigabyte cach so you can click on this and then you can select this option so
49:03
and then you can select this option so
49:03
and then you can select this option so this will be automatically scaled up to
49:06
this will be automatically scaled up to
49:06
this will be automatically scaled up to 2.5 GB caching so this is very good
49:10
2.5 GB caching so this is very good
49:10
2.5 GB caching so this is very good thing if your server is out of memory
49:13
thing if your server is out of memory
49:13
thing if your server is out of memory for your cache database so you can
49:15
for your cache database so you can
49:15
for your cache database so you can upgrade
49:17
upgrade this you can also uh make cluster sizes
49:22
this you can also uh make cluster sizes
49:22
this you can also uh make cluster sizes basically cluster is a group of uh aure
49:25
basically cluster is a group of uh aure
49:25
basically cluster is a group of uh aure cache instances so you can make this
49:28
cache instances so you can make this
49:28
cache instances so you can make this currently I'm using the basic plan so
49:30
currently I'm using the basic plan so
49:30
currently I'm using the basic plan so you can see that cluster is not
49:32
you can see that cluster is not
49:32
you can see that cluster is not available inside premium D so you can uh
49:36
available inside premium D so you can uh
49:36
available inside premium D so you can uh there are a lot of configurations you
49:38
there are a lot of configurations you
49:38
there are a lot of configurations you can make that you can connect it with a
49:41
can make that you can connect it with a
49:41
can make that you can connect it with a your insights for monitoring purpose so
49:44
your insights for monitoring purpose so
49:44
your insights for monitoring purpose so these are our options
49:52
available okay let me go to the slides
49:55
available okay let me go to the slides
49:55
available okay let me go to the slides again
50:03
okay so this was how we created Azure cache for radius
50:07
how we created Azure cache for radius
50:07
how we created Azure cache for radius instance using Azure portal then we see
50:12
instance using Azure portal then we see
50:12
instance using Azure portal then we see how to integrate that in asp.net core
50:14
how to integrate that in asp.net core
50:14
how to integrate that in asp.net core application we also have uh integrated
50:18
application we also have uh integrated
50:19
application we also have uh integrated as your cachier as a distributed cachier
50:21
as your cachier as a distributed cachier
50:21
as your cachier as a distributed cachier inside our asp.net fore application and
50:24
inside our asp.net fore application and
50:24
inside our asp.net fore application and we also see how cachier side PN works
50:28
we also see how cachier side PN works
50:28
we also see how cachier side PN works and at the end we I also show you how uh
50:33
and at the end we I also show you how uh
50:33
and at the end we I also show you how uh distributed cache uh reflects in our
50:38
application so uh in next Saturday join
50:42
application so uh in next Saturday join
50:42
application so uh in next Saturday join us for the 10th episode of our Azure
50:44
us for the 10th episode of our Azure
50:44
us for the 10th episode of our Azure essential series and in this episode we
50:47
essential series and in this episode we
50:47
essential series and in this episode we will dive into Azure insights a suit of
50:50
will dive into Azure insights a suit of
50:50
will dive into Azure insights a suit of monitoring and diagnostic tools designed
50:53
monitoring and diagnostic tools designed
50:53
monitoring and diagnostic tools designed to help uh troubleshoot and optimize
50:55
to help uh troubleshoot and optimize
50:55
to help uh troubleshoot and optimize your application
50:57
your application and in that episode we will explore how
50:59
and in that episode we will explore how
50:59
and in that episode we will explore how as your insights can provide deep
51:01
as your insights can provide deep
51:01
as your insights can provide deep visibility in your application
51:03
visibility in your application
51:03
visibility in your application performance identify issues and help you
51:06
performance identify issues and help you
51:06
performance identify issues and help you maintain your high availability and
51:10
maintain your high availability and
51:10
maintain your high availability and reliability so you can join for 10
51:13
reliability so you can join for 10
51:13
reliability so you can join for 10 episode on cop
51:15
episode on cop TV thank you so much for being the part
51:18
TV thank you so much for being the part
51:18
TV thank you so much for being the part of cop Corner Islamabad chapter and if
51:22
of cop Corner Islamabad chapter and if
51:22
of cop Corner Islamabad chapter and if you are interested to access the code of
51:24
you are interested to access the code of
51:24
you are interested to access the code of today episode you can access my uh aure
51:28
today episode you can access my uh aure
51:28
today episode you can access my uh aure GitHub account khabib DD developer asure
51:31
GitHub account khabib DD developer asure
51:31
GitHub account khabib DD developer asure essential series and you can watch the
51:34
essential series and you can watch the
51:34
essential series and you can watch the previous episodes on cop Corner SL lives
51:38
previous episodes on cop Corner SL lives
51:38
previous episodes on cop Corner SL lives SL your
51:40
SL your Essentials so thank you so much again
51:43
Essentials so thank you so much again
51:43
Essentials so thank you so much again and see you in next episode have a good
51:45
and see you in next episode have a good
51:46
and see you in next episode have a good day bye-bye